初心者の質問があります。次のテーブルを作成するとします。
温度1
アップ、varchar(15)
dn、varchar(15)
いくつかのインデックスを追加します。
create table temp1 (up varchar(15), dn varchar(15), index id1(up), index id2(dn))
テーブルにランダム データを入力した後、次の Explain Select を実行します。
explain select * from temp1 as t1, temp1 as t2 where t1.up = t2.up
そして得る
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| 1 | SIMPLE | t1 | ALL | id1 | NULL | NULL | NULL | 4 | |
| 1 | SIMPLE | t2 | ALL | id1 | NULL | NULL | NULL | 3 | Using where |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
オプティマイザーがキーを使用しないのはなぜですか?! 非常に単純なものが欠けているに違いありません。. .
(私が実際に使用しているテーブル(700K行)を使用した同様のクエリの実行が非常に遅く、インデックスに関係していると推測しているため、この質問をしています)。
助けてくれてありがとう!