Notez que le terme MySQL filesort ne signifie pas nécessairement qu'il écrit sur le disque. Cela signifie simplement qu'il va trier sans utiliser d'index. Si le jeu de résultats est suffisamment petit, MySQL le trie en mémoire, ce qui est beaucoup plus rapide que les E/S de disque.
Vous pouvez augmenter la quantité de mémoire allouée par MySQL pour les tris de fichiers en mémoire à l'aide de sort_buffer_size
variables de serveur. Dans MySQL 5.1, la taille du tampon de tri par défaut est de 2 Mo et le maximum que vous pouvez allouer est de 4 Go.
mise à jour : Concernant le commentaire de Jonathan Leffler sur la mesure de la durée du tri, vous pouvez apprendre à utiliser SHOW PROFILE FOR QUERY
qui vous donnera la répartition de la durée de chaque phase d'exécution de la requête.