You've already gotten some good answers (e.g., selectall_arrayref), so I won't elaborate on that.
However, your claim that retrieving 8,000 rows will take forever when doing so one at a time doesn't seem reasonable. I do it all the time, and it doesn't really take much time at all. I'm wondering whether you're optimizing prematurely, since you mention that you're planning some items. I frequently pull tens or hundreds of thousands of rows at a time from our server, but generally use the slower fetchrow_hashref which is normally quite fast enough.
I think you may be making yourself think too hard about the problem, rather than solving it in a straightforward way, and improving the solution if/when it proves insufficient.
Note: I tried to link to the specific documentation for fetchrow_hashref in DBI, but can't seem to figure out how to link it nicely.
Update: I gave up and hardcoded a link.
...roboticus
When your only tool is a hammer, all problems look like your thumb.
|
|---|