MySQL è intelligente se specifichi un LIMIT 5000
nella tua query ed è possibile produrre quel risultato senza prima generare l'intero set di risultati, quindi non creerà l'intero risultato.
Ad esempio, la seguente query:
SELECT * FROM table ORDER BY column LIMIT 5000
Questa query dovrà scansionare l'intera table
a meno che non ci sia un indice su column
, nel qual caso fa la cosa intelligente e usa l'indice per trovare le righe con la column
più piccola .