Man I just cannot stop replying to myself...
Bill Adams wrote: > Bill Adams wrote: > > > Rick Emery wrote: > > > > > If you use PHP, the answer is: mysql_unbuffered_query() > > > > Well, I get the delay if I query with perl DBI or enter the query directly in > > the mysql client. perl DBI + Informix does not buffer so I know that it is > > not that combo. (I guess it could be the DBD::mysql.) > > > > While the query is running w/o any results being returned yet, the process > > list shows "sending data". > > Ah yes, I see now there is a -q option for the mysql client. (Searched docs for > 'cache' instead of '[un]buffered'.) > > I do not see anything for DBD::mysql (anyone?) Rick, thanks for the hint. With it and google, I found that for DBD::mysql it is a bit different: The most important exception is the mysql_use_result attribute: This forces the driver to use mysql_use_result rather than mysql_store_result. The former is faster and less memory consuming, but tends to block other processes. (That's why mysql_store_result is the default.) To set the mysql_use_result attribute, use either of the following: my $sth = $dbh->prepare("QUERY", { "mysql_use_result" => 1}); or my $sth = $dbh->prepare("QUERY"); $sth->{"mysql_use_result"} = 1; Thanks again Rick. b. > > > -----Original Message----- > > > From: Bill Adams [mailto:[EMAIL PROTECTED]] > > > Sent: Wednesday, November 14, 2001 11:38 AM > > > To: Mysql List > > > Subject: Non-Buffered mysqld > > > > > > MySQL 4.0 > > > > > > Is there a way to prevent mysql(d) from buffering > > > the output ala 'mysqldump -q'? > > > > > > The specific case I am thinking of is a simple > > > SELECT ... FROM ... WHERE (with no ORDER BY, no > > > GROUP BY, etc.). In this case there is no reason > > > [that I can think of] why mysqld cannot start > > > returning records as it finds them. Informix > > > behaves this way. > > > > > > The reason this is important is there is real > > > speed and perceived speed. I am looking at > > > replacing my current data warehouse with MySQL. > > > Although MySQL and that other database have about > > > the same overall rows/sec when nothing is cached > > > (actually MySQL is probably about 1.25-2 x faster > > > overall in the non-cached/no order by clause), the > > > delay with MySQL makes it SEEM slower because the > > > user is sitting there waiting for anything to > > > happen. When the rows retrieved counter is, well, > > > counting up, albeit even slowly, the user at least > > > knows she is getting results. > > > > > > It would also take less memory if the results were > > > not cached. > > > > > > If someone that knows the source want to point me > > > to the right source file(s), I can take a look at > > > fixing this myself. *eek* > > > > > > b. > > > > > > --------------------------------------------------------------------- > > > Before posting, please check: > > > http://www.mysql.com/manual.php (the manual) > > > http://lists.mysql.com/ (the list archive) > > > > > > To request this thread, e-mail <[EMAIL PROTECTED]> > > > To unsubscribe, e-mail <[EMAIL PROTECTED]> > > > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > > > > -- > > Bill Adams > > TriQuint Semiconductor > > -- > Bill Adams > TriQuint Semiconductor -- Bill Adams TriQuint Semiconductor --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php