mysql:12844
From: "takayuki miura" <"takayuki miura" <t.miura@xxxxxxxxxx>>
Date: Wed, 8 Mar 2006 19:49:27 +0900
Subject: [mysql 12844] 結合しているクエリのパフォーマンスチューニング
三浦と申します。 下記のクエリに関して質問があります。 EXPLAINで確認すると、フルテーブルスキャンしていることが 確認できますが、2点ほど質問がございます。 ご教授いただけると幸いです。よろしくお願いいたします。 質問1 下記のクエリに関して、インデックスを使用するようにチューニングすることは 可能でしょうか。 #1つのテーブルに対して1つのインデックスしか使用できないことは把握してい ますが問題は #その制限ではなさそうなので 質問2 EXPLAIN結果には、「possible_keys」として「table1_Index」があがっているの ですが 「force index (table1_index)」をクエリに指定しても、使用されません。 どのような理由が考えられますでしょうか。 ■バージョン MySQL 5.0 ■問題のクエリ SELECT col1 FROM table1 AS i, table2 AS m WHERE i.col2 = m.col1 ■EXPLAIN結果 | id | select_type| table| type | possible_keys| key| key_len| ref| | rows| Extra | 1 | SIMPLE | i | ALL| table1_Index| NULL| NULL| NULL| | 488506 | Using where | 1 | SIMPLE |m| ref | table2_index|table2_index| 4| db.i.col2 | 1| Using where | ■テーブル CREATE TABLE table1 ( col1 BIGINT NOT NULL AUTO_INCREMENT, col2 INT NOT NULL, PRIMARY KEY(col1), INDEX table1_Index(col2), FOREIGN KEY(col2) REFERENCES table2(col2) ON DELETE NO ACTION ON UPDATE NO ACTION ) CREATE TABLE table2 ( col1 INT NOT NULL, col2 INT NOT NULL, PRIMARY KEY(col1), INDEX table2_index(col1), ) TYPE=InnoDB;
-> 12844 2006-03-08 19:49 ["takayuki miura" <t.] 結合しているクエリのパフォーマンスチューニング 12845 2006-03-08 22:39 ┗[とみたまさひろ <tomm]