Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re^2: DBI Style Inquiry

by Tux (Abbot)
on Jun 27, 2013 at 12:08 UTC ( #1041000=note: print w/replies, xml ) Need Help??

in reply to Re: DBI Style Inquiry
in thread DBI Style Inquiry

But fetchrow_hashref is much slower than the other fetch methods. It doesn't really matter if you fetch just a single row, but when traversing thousands of records, you will notice. For speed use bind_columns (the last example of that section shows how to get the best of both worlds). Here are some (older) speed compares for different database types:

Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^3: DBI Style Inquiry
by Ralesk (Pilgrim) on Jun 27, 2013 at 12:20 UTC

    Nice comparison. Would have probably been more interesting to see a graph that isnít anchored on hashref = 100% though.

Re^3: DBI Style Inquiry
by erix (Parson) on Jun 28, 2013 at 12:14 UTC

    I am surprised by the difference (even if it's small) between fetch and fetchrow_arrayref (your BC and DBC), as DBI docs say:

    "fetchrow_arrayref" $ary_ref = $sth->fetchrow_arrayref; $ary_ref = $sth->fetch; # alias

    Or is the essential difference something else?

    (Also, it would be interesting to have the DBMS version-numbers on those pages; it does say 2006, that's a long time ago. I would say that (arguably, no doubt) PostgreSQL has advanced more than the others in performance in this particular period)

      The difference between BC and DBC is the method-call overhead. If you really want to squeze out nonoseconds per call, it matters. It is not something I would propagate in use though:

      Create table 5000 x 12 Dbindcol 660153.156 recs/sec 4.8 x faster DBC bindcol 633472.697 recs/sec 4.6 x faster BC Darrayref 563380.282 recs/sec 4.1 x faster DAR arrayref 525486.075 recs/sec 3.8 x faster AR array 227086.929 recs/sec 1.7 x faster A hashref 136836.344 recs/sec HR

      Enjoy, Have FUN! H.Merijn

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1041000]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2018-04-23 04:13 GMT
Find Nodes?
    Voting Booth?