in reply to DBI Efficiency

Being nameless monk & indistinguishable from a mass of monks it is not surprising that you see no danger in grabbing an anonymous group of fields in a select statement. :-)

Do not ever use select * from table except interactively. Sometime the order of the fields will be changed under you.

You might be interested in DBI::fetchrow_hashref though I'd expect it to be a slower query method.

As far as optimization goes. Write the thing. Then optimize it.