The only surprise for me is that there wasn't more gain using
bind_columns()/fetch(). The documentation does mention it as faster than
the other methods and I never use anything else. The aliasing of fetch()
from fetchrow_arrayref() isn't important, but using bind_col() or
bind_columns() is.
Maybe there is some way to emphasize it more strongly in the documentation.
A lot of people seen enamored with fetchrow_array() and fetchrow_hashref()
and may not realize the performance penalty they are incurring.
>From DBI.pm:
=item B<fetchrow_arrayref>
$ary_ref = $sth->fetchrow_arrayref;
$ary_ref = $sth->fetch; # alias
Fetches the next row of data and returns a reference to an array
holding the field values. Null field values are returned as undef.
This is the fastest way to fetch data, particularly if used with
$sth->bind_columns.
--
Mac :})
** I normally forward private database questions to the DBI mail lists. **
Give a hobbit a fish and he'll eat fish for a day.
Give a hobbit a ring and he'll eat fish for an age.
----- Original Message -----
From: "H.Merijn Brand" <[EMAIL PROTECTED]>
To: "Tim Bunce" <[EMAIL PROTECTED]>
Cc: "DBI developers" <[EMAIL PROTECTED]>
Sent: Wednesday, March 21, 2001 8:18 AM
Subject: DBI 1.14 doc patches and performance tests
> . . .
> Every percentage is the performance gain towards the previous (slower)
fetch
> method. What surprised my audience was the fact that using bind_columns
with
> fetch was faster along the line than fetch without bind_columns (everyone
using
> DBI in the audience seemed to use fetchrow_arrayref all the time, and they
were
> not aware of the fact that fetch was an alias. Noone was using
bind_columns).
> . . .