Una creación de tabla simple en una de mis bases de datos MySQL lleva una eternidad:
mysql> CREATE TABLE blah (id BIGINT UNSIGNED NOT NULL PRIMARY KEY);
Query OK, 0 rows affected (16.58 sec)
La máquina está bastante inactiva:
01:21:26 PM CPU %user %nice %system %iowait %steal %idle
01:21:27 PM all 0.50 0.00 0.21 0.00 0.00 99.29
¿Alguna idea de cómo investigar esto?
EDITAR : Siguiendo el consejo de DTest , este es el perfil de ejecución:
mysql> SHOW PROFILE FOR QUERY 1;
+----------------------+----------+
| Status | Duration |
+----------------------+----------+
| starting | 0.000044 |
| checking permissions | 0.000024 |
| creating table | 8.668129 |
| After create | 0.000014 |
| query end | 0.000005 |
| freeing items | 0.000028 |
| logging slow query | 0.000004 |
| logging slow query | 0.000206 |
| cleaning up | 0.000006 |
+----------------------+----------+
mysql
performance
Adam Matan
fuente
fuente
Respuestas:
Activaría el perfil para tener una idea de lo que lleva tanto tiempo. Un ejemplo usando la CLI de mysql:
Debería obtener una respuesta como esta:
fuente
CPU
,BLOCK IO
etc. que podrían ayudarlo en la etapa de 'creación de tabla'.