Under most circumstances, for performance reasons, we don't care. You should focus more on what key fields will reduce the amount of unnecessary I/O on your system. A full table-scan of a file with 1,000,000 records to select 10 records is very inefficient. Sure, an SQL index might perform better - but reading 10 records will always out perform reading 1,000,000 records. Make sure that your SQL requests subset large datasets as quickly as possible. Dynamically sorting small sets of data is OK.