range_optimizer_max_mem_sizeを超えた場合のrangeはFull Scanになってしまう。
もくじ
対策
Full Scanにならないようにバッチサイズを見積もる
前提
MySQL7.0以上
見積もり方
range_optimizer_max_mem_sizeの値を検索する
SELECT COUNT(*) FROM t WHERE a IN (1,2, ..., M) AND b IN (1,2, ..., N);
INで指定する要素にかかるサイズは230バイト
range_optimizer_max_mem_size > 230 * M * N
になるようにBatchサイズを見積もること
関連