A indexação regular não pode ser usada para melhorar essa consulta. Os índices do MySQL são árvores B, o que significa que eles podem encontrar um prefixo da coluna indexada muito rapidamente. Mas como seu
LIKE
consulta tem %
no início, não há um prefixo único para pesquisar. Portanto, cada linha deve ser digitalizada para corresponder ao padrão. No entanto, o MySQL também suporta pesquisa de texto completo. Isso cria um índice de todas as palavras na coluna e pode encontrar essas palavras rapidamente. Consulte a documentação para detalhes.
Se você usar
LIMIT 10
, ele interromperá a varredura assim que encontrar as primeiras 10 linhas que satisfaçam as condições. A menos que você também use ORDER BY
-- então ele precisa encontrar todas as linhas para que possa classificá-las antes de selecionar as 10 primeiras.