Proste tworzenie tabeli w jednej z moich baz danych MySQL trwa wiecznie:
mysql> CREATE TABLE blah (id BIGINT UNSIGNED NOT NULL PRIMARY KEY);
Query OK, 0 rows affected (16.58 sec)
Maszyna jest dość bezczynna:
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
Wszelkie pomysły, jak to zbadać?
EDYCJA : Zgodnie z radą DTest jest to profil wykonania:
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
źródło
źródło
Odpowiedzi:
Chciałbym włączyć profilowanie, aby dowiedzieć się, co trwa tak długo. Przykład użycia CLI mysql:
Powinieneś otrzymać odpowiedź mniej więcej taką:
źródło
CPU
,BLOCK IO
Które mogą ci pomóc na etapie tworzenia tabeli.