Como já foi dito, "usar filesort" e "usar temporário" nem sempre implicam em desempenho ruim.
Aqui são algumas diretrizes básicas para melhorar o desempenho das instruções ORDER BY. Os destaques:
Primeiro, tente usar índices (certifique-se de que os campos pelos quais você está classificando tenham índices). Observe que aumentar as variáveis do sistema sort_buffer_size e read_rnd_buffer_size também pode ter um efeito negativo em outras consultas - considere configurá-las especificamente para a sessão para a qual você precisa delas e deixe-as como padrão para todas as outras sessões.