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

Ao executar EXPLAIN, se o valor do campo para chave não for nulo, mas Extra estiver em branco, a chave é usada?


Using index não significa o que você acha que significa. Se estiver presente no Extra coluna, indica que o otimizador não está realmente lendo as linhas inteiras, está usando o índice (exclusivamente) para encontrar as informações da coluna.

A chave ainda pode estar em uso para outras coisas, por exemplo, para realizar pesquisas se você tiver um WHERE cláusula etc. Em seu cenário específico, por exemplo, o desaparecimento do Using temporary; na verdade significa que seu índice está sendo utilizado, já que o MySQL não precisa mais reorganizar o conteúdo de sua tabela em uma nova tabela temporária para executar o GROUP BY .