in reply to DBI Efficiency

Depends. I'd go with the first, though. Why ask for data you don't need? Why rely on potentially indeterminate positioning of data?

Efficiency wouldn't be my first concern. I'd use bound variables and prepare_cached() if it were, and if the bottleneck were these database calls, and if I'd already added indexes.