갑자기 일부 업데이트가 갑자기 길어지면서 테이블이 약 2MM 레코드에 도달 할 때까지 꽤 오래 걸렸습니다. 각 60 초.MySQL 업데이트도 오랜 시간이 걸렸습니다.
mysql> show profile context switches
-> ;
+----------------------+-----------+-------------------+---------------------+
| Status | Duration | Context_voluntary | Context_involuntary |
+----------------------+-----------+-------------------+---------------------+
| (initialization) | 0.000007 | 0 | 0 |
| checking permissions | 0.000009 | 0 | 0 |
| Opening tables | 0.000045 | 0 | 0 |
| System lock | 0.000009 | 0 | 0 |
| Table lock | 0.000008 | 0 | 0 |
| init | 0.000056 | 0 | 0 |
| Updating | 46.063662 | 75487 | 14658 |
| end | 2.803943 | 5851 | 857 |
| query end | 0.000054 | 0 | 0 |
| freeing items | 0.000011 | 0 | 0 |
| closing tables | 0.000008 | 0 | 0 |
| logging slow query | 0.000265 | 2 | 1 |
+----------------------+-----------+-------------------+---------------------+
12 rows in set (0.00 sec)
: 결과 높은 수치를 보인다 하나만있는 프로파일에서
`id` bigint(20) NOT NULL auto_increment,
`field1` int(11) default '0',
결과 콘텍스트 스위치 : 여기
update table1 set field1=field1+1 where id=2229230;
Query OK, 0 rows affected (42.31 sec)
Rows matched: 1 Changed: 0 Warnings: 0
은 필드 종류 이 테이블은 약 250 만 레코드이고 ID는 기본 키이며 다른 필드에 하나의 고유 인덱스가 있습니다 (업데이트에 포함되지 않음).
무단 전재 표입니다.
원인에 대한 설명이 있습니까?
문제를 추적하는 데 도움이되는 특정 변수는 무엇입니까?
업데이트에 대한 설명이 있습니까?
편집 : 또한 그냥 테이블도 있습니다 것으로 나타났습니다 A :
`modDate` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
설명 : ID가 정말 기본 인 경우
가+----+-------------+---------------+-------+---------------+---------+---------+-------+------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------------+-------+---------------+---------+---------+-------+------+-------+
| 1 | SIMPLE | table1 | const | PRIMARY | PRIMARY | 8 | const | 1 | |
+----+-------------+---------------+-------+---------------+---------+---------+-------+------+-------+
1 row in set (0.02 sec)
'field1' 및'id' 필드의 유형은 무엇입니까? –
이 대기열을 프로파일 링하려고 할 수 있습니다. http://dev.mysql.com/tech-resources/articles/using-new-query-profiler.html을 참조하십시오. –
홀수 행이 일치하지만 0 행이 영향을 받습니까? –