MySQL 8.0でIN句に大量の値を渡すと性能劣化
https://www.percona.com/blog/why-are-queries-with-many-in-values-more-expensive-after-upgrading-to-mysql-8-x/
MySQL
8.0以降で、
IN
句に渡す値が多い場合に
性能
劣化することがある
インデックス
が存在しても使われない
range optimizerが使用するメモリ量が5.xと比較して増加しており、
range_optimizer_max_mem_size
を超過することがある
超過した場合はインデックスが使われず
フルスキャン
などが起きる
テーブル
上の
インデックス
が増えるほど影響は大きくなる