miércoles, 25 de marzo de 2015

Usando EXPLAIN para analizar consultas en MySQL

El uso de la herramienta EXPLAIN en MySQL es muy simple:

mysql> explain select * from tabla_x;
+----+-------------+---------+------+---------------+------+---------+------+------+-------+
| id | select_type | table   |type  | possible_keys | key  | key_len | ref  | rows | Extra |
+----+-------------+---------+------+---------------+------+---------+------+------+-------+
|  1 | SIMPLE      | tabla_x | ALL  | NULL          | NULL | NULL    | NULL | 1002 |       | 
+----+-------------+---------+------+---------------+------+---------+------+------+-------+

Aquí podemos analizar algunos datos con respecto a nuestra consulta para optimizar nuestros queries sean simples, compuestos (digase con JOIN's y así) o muy complejos xD .

Entre algunas cosas que podemos observar es si usa llaves o indices, el numero de filas que estaría leyendo de la base de datos esa consulta. Por ejemplo un valor que deberíamos evitar en nuestras consultas es el campo 'type' con 'ALL' esto quiere decir que está leyendo la fila completa y no se remite a un campo en particular o a una llave en un índice, por lo tanto la consulta será más lenta que si hacemos uso de alguna de estas alternativas de optimización.

En esta página encontré varios ejemplos bastante ilustrativos y una explicación de cada campo del comando EXPLAIN que pueden consultar para más detalle:

Aquí

También pueden acceder a la ayuda de MySQL en internet.

¡Mucha suerte con sus consultas complejas! la necesitarán ;)

¡Saludos javer@s!

No hay comentarios:

Publicar un comentario