To quote Tim Bunce
- while(@row = $sth->fetchrow_array) { }
" one column: 51,155 fetches per second
" 20 columns: 24,032 fetches per second
- while($row = $sth->fetchrow_arrayref) { }
" one column: 58,653 fetches per second - approximately 12% faster
" 20 columns: 49,390 fetches per second - approximately 51% faster
- while($row = shift(@$rowcache) || shift(@{$rowcache=$sth->fetchall_a
+rrayref(undef, $max_rows)})) { }
" one column: 348,140 fetches per second - by far the fastest!
" 20 columns: 42,128 fetches per second - now slower than fetchrow_
+arrayref!
" Why? Balance time saved making fewer calls with time spent managi
+ng more memory
" Do your own benchmarks to find what works best for your situation
+s