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|
+----------------------------------------------------------------------------------------------------+