I have a project where I need to load all ids of a table and have random access for different records afterward. This can be effectively done with loading results from SELECT rowid FROM... into an array and accessing actual data with SELECT * ... WHERE rowid = . This approach gives decent results for example for a 90M/70,000 records table (about 2 seconds on a 1.7 Ghz Pentium 4). But I'm looking for further improvement. So the thought was about creating a mirror table where we mirror only rowids of original table, will this approach give the performance increase? The idea behind this is that the record from mirror table took less space by design so the table is effectively packed in fewer sectors so it will took less time to load these ids than the ones from the original one.
I know that I can perform a test myself, but maybe someone had a similar experience already or have some knowledge of the sqlite internals to tell whether it could be effective