Ако приемем, че вашият набор от данни е твърде голям за съхраняване в паметта.... Ако имате нужда само от първите n елемента, можете да запазите само най-добрите резултати в паметта, докато прелиствате 1 милион реда. Това също ще работи с вашата идея за временна таблица, като записвате най-добрите записи от всяка партида.
Друг вариант би бил да напишете дефинирана от потребителя функция:
http://dev.mysql.com/doc/refman /5.1/bg/adding-functions.html