in reply to bind_columns OR fetchall_arrayref

It is hard to answer this question until you define
it'll take wayy long to load

and

Or any other faster method?

as well as some benchmark which will help you decide you have achieved the speed you desire.

You db is so simple it could well be just a text file. On any reasonably modern computer Perl will pump it out faster than any internet connection would be able to handle. Hence, your bottleneck (for loading 4k records, if I understand your problem correctly) will be the client computer rather than the server. Your other worry would be running out of browser memory on your client computer before everything gets loaded. You are asking to load a 40000 element array along with the html fluff. Make sure your users have enough memory on their computers (which, again, should not be a problem).

In other words, first define the yardstick you want to measure against before worrying about which method to measure. Because unless you recognize your destination, you will not know you have arrived.

If you just want to compare bind_columns or fetch_*, a simple use Benchmark will solve that problem for you before any of us conjecturing will be able to.

Good luck.