1

DATE開始日と終了日の範囲を指定するために使用される2 つの列を持つ数百万行のテーブルがあります。2 つの列に 1 つのインデックスがありますが、それは使用されず、クエリの実行に 10 秒かかります。これはまったく受け入れられません。私のクエリは簡単です:

SELECT * FROM `events` WHERE `valid_from` <= "2013-05-05" AND `valid_to` >= "2013-05-05"

これがインデックスを使用せず、実行に時間がかかるのはなぜですか?

編集

EXPLAIN上記のクエリの An :

+----------------------------------------------------------------------------------------------------+
| id | select_type   | table  | type | possible_keys | key  | key_len | ref  | rows     | Extra      |
+----------------------------------------------------------------------------------------------------+
| 1  | SIMPLE        | events | ALL  | valid_from_to | NULL | NULL    | NULL |  2166894 | Using where|
+----------------------------------------------------------------------------------------------------+
4

2 に答える 2