mysql:14173
From: 島村秀世 <島村秀世 <h.shimamura@xxxxxxxxxx>>
Date: Mon, 13 Aug 2007 09:55:06 +0900
Subject: [mysql 14173] Copying to tmp table と Lockの関係について
いつもお世話になっています。 早速ですが Copying to tmp table と Lock の関係について、教えてください。 現在私どもでは、スケジューラ、休暇/残業申請等からなるグループウェアの DBに MySQL5.0.18 を用いています。 グループウェアであることから、9:00AMの出勤時にアクセスが重なり、DBの 負荷が上昇し、load average が100を超えてしまうような事も稀にですが発生 しています。 10分程度で、load average が 2 以下に下がることから余り気にしていなかっ たのですが、以下のコマンドで状況を確認したところ、何れの場合も Copyi ng to tmp table が発生した際に Lock がかかっていることがわかりました。 確認したところ、Copying to tmp table となっているSQLは、外部結合な どを多用した比較的複雑なSQLでした。 また、State が Locked となっているSQLについては、何れも Lock を行わ ないSQLであり、かつシンプルなSQLでした。 そこで質問なのですが、 1.MySQLでは、外部結合などを多用する複雑なSQLを発行すると、Copying to tmp table が発生するつくりなのでしょうか? 2.Copying to tmp table が発生した場合、他のSQLは Lock されてしまう のでしょうか? また、これを回避する方法などはないでしょうか? ※ Copying to tmp table を発生させている一部システムの利用開始時間を9:15 以降にずらす等の対処は行うつもりですので、それ以外の対応があればお教 え下さい。 [確認コマンド] mysqladmin -u root -p -i4 process status > process_status.log [process_status.logからの抜粋] +---------+------+----------------------+-----------------------------+ | Command | Time | State | Info | +---------+------+----------------------+-----------------------------+ | Sleep | 816 | | | | Query | 23 | Copying to tmp table | select r1.deptno, p.dispname| | Query | 23 | Locked | select p.deptno, p.fullname,| | Query | 23 | Locked | select leave_code, sum(use_t| | Query | 23 | Locked | UPDATE leaverecord SET appli| | Query | 22 | Locked | update public_servant set cu| | Query | 22 | Locked | select dp.depname, d.divname| | Query | 22 | Locked | SELECT deptno, fullname, div| <中略> | Query | 1 | Locked | update public_servant set cu| | Query | 1 | Locked | select deptno, divcode, team| | Query | 1 | Locked | SELECT deptno FROM public_se| | Query | 1 | Locked | SELECT deptno FROM public_se| | Query | 0 | | show processlist | +---------+------+----------------------+-----------------------------+ Uptime: 4108990 Threads: 55 Questions: 203816547 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 256 Queries per second avg: 49.603 [OS環境など] OS: CentOS4.3 CPU:Pen3 3.4GHz MEM: 4GByte MySQL: MySQL5.0.18 DB専用のサーバです。 ----- 島村秀世
14167 2007-08-11 20:29 [<kozu@xxxxxxxxxx> ] レプリケーションについて 14168 2007-08-11 20:47 ┗["Tetsuro IKEDA" <ikd] 14169 2007-08-11 23:06 ┗[<kozu@xxxxxxxxxx> ] 14170 2007-08-12 02:55 ┗["Katsuyuki Sakai" <s] 14171 2007-08-12 10:54 ┣[<kozu@xxxxxxxxxx> ] 14172 2007-08-12 19:35 ┣["Katsuyuki Sakai" <s] -> 14173 2007-08-13 09:55 ┗[島村秀世 <h.shimamur] Copying to tmp table と Lockの関係について