On a more positive note, if you're not storing the data in a "proper" database (no worries: sounds like you've got legacy data that has to be left in its existing format) then you could store the common lookup fields (Title, Year, Media, CatalogNumber?) in String Arrays, and read them from the Random Access File just once at program startup. For thousands of records stored in a local file, that's usually pretty quick.
For millions of records, or stored in a remote file accessed via the internet, yeah, not quite so quick... perhaps this could be the universe hinting that it's time to move to a database system that will handle that for you. ? Short-term PITA, long-term solution.