O
INNER JOIN user
user_table_alias ON user_table_alias.id
=u
.id
parece inútil. Ele só se junta contra si mesmo e essa técnica não é usada no restante da consulta. Não há índice em
emailVerify
. Que é indicado pela primeira linha do EXPLAIN. ('usando where' significa que nenhum índice é usado) Essa consulta não se adapta bem ao tamanho da tabela, porque a tabela completa deve ser examinada antes de delimitar o que são 'usuários recentes'. Então provavelmente algum buffer interno usado pelo myisam está estourado agora. Isso é o que significa 'usar temporário'. Usar filesort significa que a ordem é tão grande que usa um arquivo temporário, o que é ruim para o desempenho.