Našel jsem 2 (jaksi zřejmé) věci, které pomohly urychlit tento dotaz na uspokojivou úroveň:
-
Minimalizujte počet řádků, které je třeba seřadit. Použitím indexu v poli 'id' a podvýběru pro nejprve oříznutí počtu záznamů není řazení souborů ve vypočítaném sloupci tak špatné. Tj.:
SELECT t.value1, (t.value2 * an_arbitrary_float) as SCORE FROM (SELECT * FROM sometable WHERE id = 1) AS t ORDER BY SCORE DESC
-
Zkuste zvýšit sort_buffer_size v my.conf pro urychlení těchto řazení souborů.