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

Reply via email to