Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL não usando índice para ORDER BY


Como ele precisa carregar a tabela inteira para responder à consulta e classificar 4 elementos é barato, o otimizador de consulta pode estar evitando tocar no índice. Isso ainda acontece com mesas maiores?

Observe que uma coluna varchar(3000) não pode ser um índice de cobertura porque o MySQL não incluirá mais do que os primeiros 768 bytes de um varchar em um índice.

Se você quiser que a consulta leia apenas o índice, o índice deve ter todas as colunas que você SELECT para nele. No innodb, isso deve começar a funcionar para sua tabela de duas colunas assim que você tornar o textcol pequeno o suficiente; no MyISAM você precisará incluir a coluna de chave primária, como CREATE INDEX textcolindex ON test (textcol,id);