in reply to DBI Efficiency

It is a really, really bad habit to use '*' in queries, unless you're playing around with a command-line tool. Things will break, possibly in strange ways, if someone restructures the schema underneath you.

Instead of *, name the fields explicitly. This has the added benifit of yielding useful errors if a schema change affects field names. (With *, both the order of fields and field names could changes, and you might never know it, other than noting that you're getting corrupted results from your script.)

In your case, this means

SELECT name, age FROM mytable WHERE id=?
And for heavens sake, arrange to detect or trap errors from DBI.