Förutsatt att din datauppsättning är för stor för att lagra i minnet... Om du bara behöver de n översta objekten kan du bara behålla de översta resultaten i minnet när du bläddrar igenom de 1 miljon raderna. Detta skulle också fungera med din tillfälliga tabellidé, att skriva toppposterna från varje batch.
Ett annat alternativ skulle vara att skriva en användardefinierad funktion:
http://dev.mysql.com/doc/refman /5.1/sv/adding-functions.html