MySQL

[MySQL] rangeが絡むバッチサイズの計算

MySQL

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

関連

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)