in reply to Why not perl have raw/native type
In the landscape you sketch, I bet profiling will show the overhead being at the DB (DBI + DBD + database interface) side of the program, and not in Text::CSV_XS. Yes, Text::CSV_XS does have the SV overhead, but when you use bind_columns, most of that overhead is neglectable (comparable to other overhead).
You didn't state what database you use, and which interface and/or connection method. Sometimes specific options and attributes can really speed up your process.
We really need more in order to be able to help you (if possible at all).
Enjoy, Have FUN! H.Merijn