Une simple création de table sur l'une de mes bases de données MySQL prend une éternité:
mysql> CREATE TABLE blah (id BIGINT UNSIGNED NOT NULL PRIMARY KEY);
Query OK, 0 rows affected (16.58 sec)
La machine est assez inactive:
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
Des idées sur la façon d'enquêter?
EDIT : suivant les conseils de DTest, voici le profil d'exécution:
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
la source
la source
Réponses:
Je voudrais activer le profilage pour avoir une idée de ce qui prend si longtemps. Un exemple utilisant la CLI de mysql:
Vous devriez obtenir une réponse quelque chose comme ceci:
la source
CPU
,BLOCK IO
etc. qui pourraient vous aider à l'étape de la "création de table".