Poner explain
delante de una sentencia SQL para obtener el plan de ejecución:
EXPLAIN SELECT 1
El plan se muestra de forma tabular (se han omitido algunas columnas de menor importancia para mejorar la legibilidad):
~+-------+------+---------------+------+~+------+------------~
~| table | type | possible_keys | key |~| rows | Extra
~+-------+------+---------------+------+~+------+------------~
~| NULL | NULL | NULL | NULL |~| NULL | No tables...
~+-------+------+---------------+------+~+------+------------~
La información más importante está dentro de la columna TYPE
. Aunque la documentación de MySQL se refiere a ella como un “tipo de unión”, prefiero describirla como un “tipo de acceso” porque en realidad especifica cómo se tiene acceso al dato. El significado del tipo de valor se describe en la siguiente sección.