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

Índice do MySQL sendo ignorado


FORCE é um nome um pouco impróprio. Aqui está o que os documentos do MySQL dizem (ênfase minha):

Você também pode usar FORCE INDEX, que age como USE INDEX (index_list), mas com a adição de que uma varredura de tabela é considerada muito cara. Em outras palavras, uma varredura de tabela é usada apenas se não houver como usar um dos índices fornecidos para encontrar linhas na tabela.

Como você não está realmente "encontrando" nenhuma linha (você está selecionando todas), uma verificação de tabela é sempre vai ser mais rápido, e o otimizador é esperto o suficiente para saber disso, apesar do que você está dizendo a eles.

HEC:

Tente adicionar um ORDER BY na chave primária uma vez e aposto que usará o índice.