sql >> Base de Datos >  >> RDS >> Mysql

Al ejecutar EXPLAIN, si el valor del campo para la clave no es nulo pero Extra está en blanco, ¿se utiliza la clave?

Using index no significa lo que crees que significa. Si está presente en el Extra columna, indica que el optimizador en realidad no está leyendo las filas completas, está usando el índice (exclusivamente) para encontrar la información de la columna.

La clave aún podría estar en uso para otras cosas, por ejemplo, para realizar búsquedas si tiene un WHERE cláusula, etc. En su escenario específico, por ejemplo, la desaparición del Using temporary; en realidad significa que se está utilizando su índice, ya que MySQL ya no necesita reorganizar el contenido de su tabla en una nueva tabla temporal para realizar el GROUP BY .