in reply to Fetchrow question

Generally DBI has the database itself do as much of the heavy lifting (read holding data in memory) as possible.

See the documentation on fetchrow_array and fetchall_arrayref for some additional details and distinctions.