
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サイズを見積もること
関連




![PHP Iteratorパターン [PHPによるデザインパターン入門]](https://www.yuulinux.tokyo/contents/wp-content/uploads/2017/09/phpDP_20190407_1-150x150.jpg)
