MySQL インデックスあれこれ
#MySQL
IN句を使ったときにインデックスが使用されない
https://developers.freee.co.jp/entry/large-in-clouse-length-cause-full-scan
eq_range_index_dive_limit
で
インデックスダイブ
の上限を設定できる
デフォルト値は200(MySQL8.0)
上限を超えると、インデックスを見るのではなくMySQLの統計情報を使う
https://tech.spacely.co.jp/entry/2022/06/07/131350
https://mita2db.hateblo.jp/entry/2020/12/26/113000
また、
range_optimizer_max_mem_size
のメモリ量を超えるとフルスキャンになる
http://tech.aainc.co.jp/archives/397
IN句でフルスキャンになるケース
NOT INが遅い
NOT IN
ではインデックスが効かず、全件スキャンになる?
EXISTの方が速いという記事がちらほらヒットする
ほんまか?