MySQL tablo oluşturma inanılmaz derecede yavaş


10

MySQL veritabanlarımdan birinde basit bir tablo oluşturmak sonsuza dek sürer:

mysql> CREATE TABLE blah (id BIGINT UNSIGNED NOT NULL PRIMARY KEY);
Query OK, 0 rows affected (16.58 sec)

Makine oldukça boşta:

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

Bunu nasıl araştıracağınıza dair bir fikrin var mı?

DÜZENLEME : DTest'in tavsiyelerine göre , bu yürütme profili:

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 |
+----------------------+----------+

@Phil Yaklaşık 16 GB belleğe sahip fiziksel bir makine.
Adam Matan

@Phil Birçok MySQL işlemine sahip bir üretim sunucusudur, bu nedenle disk boşta olmamalıdır.
Adam Matan

Yanıtlar:


10

Ben açacak profilleme kadar uzun sürmesinin ne olduğu hakkında bir fikir edinmek için. MySQL'in CLI'sini kullanan bir örnek:

SET profiling = 1;
CREATE TABLE blah (id BIGINT UNSIGNED NOT NULL PRIMARY KEY);
SET profiling = 1;

Bunun gibi bir yanıt almalısınız:

mysql> SHOW PROFILES;
| Query_ID | Duration   | Query |
+----------+------------+-------------------------------------------------------------+
|        1 | 0.00913800 | CREATE TABLE blah (id BIGINT UNSIGNED NOT NULL PRIMARY KEY) |
+----------+------------+-------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SHOW PROFILE FOR QUERY 1;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| starting             | 0.000071 |
| checking permissions | 0.000007 |
| Opening tables       | 0.001698 |
| System lock          | 0.000043 |
| creating table       | 0.007260 |
| After create         | 0.000004 |
| query end            | 0.000004 |
| closing tables       | 0.000015 |
| freeing items        | 0.000031 |
| logging slow query   | 0.000002 |
| cleaning up          | 0.000003 |
+----------------------+----------+
11 rows in set (0.00 sec)

1
@AdamMatan Eğer profil belgeleri okuyun emin eğer, ancak sorgunun profilini gösteren diğer bayraklar vardır CPU, BLOCK IO'yaratma tablo' sahnede size yardımcı olabilir vb.
Derek Downey
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.