SQLのチューニング インデックスが効かないのはなぜ?

実現したいこと

SQLの実行スピードを上げたいです。

試したこと

tbl_hanbaiにインデックスを追加しました
インデックスは牽引キーで使いそうなものを全部登録しておきました。

ALTER TABLE tbl_hanbai ADD INDEX uid (uid);
ALTER TABLE tbl_hanbai ADD INDEX orderno (orderno);
ALTER TABLE tbl_hanbai ADD INDEX sday (sday);
ALTER TABLE tbl_hanbai ADD INDEX serialno (serialno);
ALTER TABLE tbl_hanbai ADD INDEX tokuisakino (tokuisakino);
ALTER TABLE tbl_hanbai ADD INDEX hday (hday);

テスト的に日付検索(datetime)で下記のSQLを実行してみたのですが

explain SELECT * FROM tbl_hanbai h where h.hday BETWEEN '2023/09/01 00:00:00' AND '2023/09/30 23:59:59'

explainの結果は下記のようにインデックスは全く使われておらず
hdayを使えと言われるのですが、hdayはインデックス登録しているし、
wehre句でも使っているのですがなぜ効かないのでしょうか。

イメージ説明

アドバイスよろしくお願いいたします。

コメントを投稿

0 コメント