Why do you need to load all records in memory? What if you have 1000000 of records, each with 128 KiB? Do you really expect to allocate 128 GiB of memory?
Do each record have meaning other than as array of chars?