Mysql
 sql >> Base de données >  >> RDS >> Mysql

Lors de l'exécution d'EXPLAIN, si la valeur du champ pour la clé n'est pas nulle mais Extra est vide, la clé est-elle utilisée ?

Using index ne signifie pas ce que vous pensez que cela signifie. S'il est présent dans l'Extra colonne, cela indique que l'optimiseur ne lit pas réellement les lignes entières, il utilise l'index (exclusivement) pour trouver les informations de colonne.

La clé peut encore être utilisée pour d'autres choses, par exemple pour effectuer des recherches si vous avez un WHERE clause etc. Dans votre scénario spécifique, par exemple, la disparition de la Using temporary; signifie en fait que votre index est utilisé, puisque MySQL n'a plus besoin de réorganiser le contenu de votre table dans une nouvelle table temporaire pour effectuer le GROUP BY .