質問は、こちら
やったことは、まず3テーブル作る
CREATE TABLE tb1 (id INTEGER AUTO_INCREMENT, PRIMARY KEY(id)); CREATE TABLE tb2 (id INTEGER AUTO_INCREMENT, PRIMARY KEY(id)); CREATE TABLE tb3 (id INTEGER AUTO_INCREMENT, PRIMARY KEY(id));
適当にデータを入れたところで、以下のクエリーでEXPLAINしてみる
EXPLAIN SELECT tb1.* FROM tb1 LEFT JOIN tb2 ON tb1.id = tb2.id LEFT JOIN tb3 ON tb1.id = tb3.id WHERE tb1.id = '6';
結果は
+----+-------------+-------+-------+---------------+---------+---------+-------+------+----------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+---------------+---------+---------+-------+------+----------------------+ | 1 | SIMPLE | tb1 | const | PRIMARY | PRIMARY | 4 | const | 1 | Using index | | 1 | SIMPLE | tb2 | const | PRIMARY | PRIMARY | 4 | const | 1 | Using index | | 1 | SIMPLE | tb3 | const | PRIMARY | PRIMARY | 4 | const | 0 | unique row not found | +----+-------------+-------+-------+---------------+---------+---------+-------+------+----------------------+ 3 rows in set (0.00 sec)
うーん、問題なくINDEXを使ってるなー
かなり負荷がかかるとは、どういうことなんでしょう・・・

コメントする