Supondo que seu conjunto de dados seja muito grande para ser armazenado na memória... Se você precisar apenas dos n itens principais, poderá manter apenas os principais resultados na memória enquanto percorre as 1 milhão de linhas. Isso também funcionaria com a sua ideia de tabela temporária, escrevendo os principais registros de cada lote.
Outra opção seria escrever uma função definida pelo usuário:
http://dev.mysql.com/doc/refman /5.1/en/adding-functions.html