InnoDB のフラグメンテーションについてドキュメントを読んだメモ。 なおいずれも MySQL8 系のドキュメントを参照している。また Issue Tracker やソースコードまでの深堀りはしていおらず、基本的にドキュメントから分かる範囲だけをまとめている。 フラグメンテーションについて MySQL :: MySQL 8.0 Reference Manual :: 15.11.4 Defragmenting a Table より。 ランダムな INSERT や DELETE をしているうちに、だんだんと page のなかで「確保されているが使用されていない」領域が増えていく フラグメンテーションが大きくなると読み取り性能が劣化する可能性がある 次のような場合に偏っているいると考えられる 「本来あるべきデータサイズ」よりも「実際使われているデータサイズ」が大きい場合 「本来」とは何かが難