MySQL 테이블 생성 속도가 느리다


10

내 MySQL 데이터베이스 중 하나에서 간단한 테이블을 만드는 데는 시간이 오래 걸립니다.

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

기계가 유휴 상태입니다.

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

이것을 조사하는 방법에 대한 아이디어가 있습니까?

편집 : DTest의 조언 에 따라 실행 프로필입니다.

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 16GB의 메모리가있는 물리적 시스템.
— Adam Matan

@Phil MySQL 작업이 많은 프로덕션 서버이므로 디스크가 유휴 상태가되어서는 안됩니다.
— Adam Matan

답변:


10

시간이 오래 걸리는 것에 대한 아이디어를 얻기 위해 프로파일 링 을 켭니다 . mysql의 CLI를 사용하는 예 :

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

다음과 같은 응답을 받아야합니다.

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 당신은 프로파일 문서를 읽을해야합니다 경우지만, 쿼리의 프로필을 보여주는 다른 플래그가 CPU, BLOCK IO'만들기 테이블'무대에서 당신을 도울 수있는 등.
— 데릭 다우니
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.