El EXPLAIN a primera vista puede resultar algo confuso y en joins con muchas tablas tampoco nos indica en que esta perdiendo más tiempo el MySQL. Mediante SHOW PROFILE tendremos un detalle de los tiempos de ejecución.
Para poder ver los tiempos de ejecución deberemos dejar a 1 la variable de sesión profiling:
mysql> set profiling=1; Query OK, 0 rows affected (0.00 sec)
A continuación deberemos ejecutar las queries que queramos, pudiendo ver el resultado con SHOW PROFILE:
mysql> select id, object_id, concat(section,tag) , unix_timestamp(log_date) as thing_date from log where thing_timestamp >= DATE_FORMAT(date_sub(CURRENT_TIMESTAMP(), interval 7 day),'%Y%m%d070000'); (...) 244606 rows in set (1.06 sec) mysql> show profile; +----------------------+----------+ | Status …[Lea más]