Depending on the data, a 'Radix sort' might be just what you need.
This does it with several passes, and you don't need to store more than one record in memory at once (the one you're currently sorting - you don't even need TWO records)
Radix sorting is even regarded as 'one of the fastest sorting methods'. (It's slower than QuickSort, but with QuickSort, all your data needs to be in memory at once)
Have a google for 'Radix Sorting'