/ / MySQLの日付フィールドにインデックスを付ける-mysql、インデックス作成、データベースインデックス

MySQLの日付フィールドにインデックスを付ける - mysql、インデックス、データベースインデックス

主に次のようなものを使用したクエリで使用される日付フィールドにインデックスを設定することで、本当にメリットがありますか?

dateField < "var"

そして

"var" BETWEEN dateField1 AND dateField2

検索は多く行われますが、それらに対して直接比較することはありません。

回答:

回答№1は16

はい、もちろん。範囲検索は、等値検索と同様にインデックスの恩恵を受けます。

から引用する MySQLリファレンスマニュアル:: MySQLがインデックスを使用する方法

Bツリーインデックスの特性

Bツリーインデックスは、列の比較に使用できます。=、>、> =、<、<=、またはBETWEEN演算子を使用する式で。 LIKEへの引数がワイルドカード文字で始まらない定数文字列である場合、インデックスはLIKE比較にも使用できます。

状況によっては、テーブルスキャンが実際に高速になる可能性があるため、範囲が大きくなりすぎると、オプティマイザーがインデックスを使用しないことを決定する場合があります。使用する EXPLAIN クエリで使用されるインデックス(存在する場合)を確認します。