mysqlがやたら重くなっていて、テーブル表示とかは問題ないのに普通のSELECTでも30秒くらいかかるようになっていました。
ビューテーブルとか使いまくっていたので最初そのせいかと思って調査を始めたのですがEXPLAINですら相当重い・・・。
1 |
mysql> SHOW PROCESSLIST; |
をすると、大量にSELECTやらUPDATEやらがLOCK状態になっていました。こういうこともあるんですね。15年ほど使ってて初めて。
1 2 3 4 5 6 7 8 9 |
mysql> SELECT GROUP_CONCAT(id) FROM information_schema.PROCESSLIST WHERE TIME > 10; +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | GROUP_CONCAT(id) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 489757,489681,489654,489613,489552,489472,489395,489251,489169,489056,488965,488874,488804,488731,488641,488547,488456,488377,488322,488232,488138,488076,487985,487908,487842,487776,487718,487651 | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.33 sec) mysql> exit; $ mysqladmin kill 489757,489681,489654,489613,489552,489472,489395,489251,489169,489056,488965,488874,488804,488731,488641,488547,488456,488377,488322,488232,488138,488076,487985,487908,487842,487776,487718,487651 -u root |
でなんとかなりました。
以下のブログが大変参考になりました。
[blogcard url=”http://d.hatena.ne.jp/takami_hiroki/20101027/p1″]
[blogcard url=”http://tech.basicinc.jp/MySQL/2014/04/06/mysql_processlist_kill/”]