IT用語集 › データベース › Fillfactor

Fillfactor

データベース Svenska → 更新: 2026-10-21

インデックスやデータのページを作成時にどこまで詰めるかを決める設定で、残りは将来の挿入・更新のための空きになる。fillfactor 90なら90%まで詰め、10%は空けておく。ページ分割と断片化の対策になる。

問題はこうだ。ページが100%埋まっていると、途中に新しい行を入れたり、UPDATEで行が大きくなったりしたとき、データベースはページを分割(page split)せざるを得ない。これは高コストで断片化も招く。fillfactorを下げて空きを残せば、更新は同じページに収まる。トレードオフは、分割が減る代わりにディスク使用量とページ読み込みが増え、キャッシュ効率が落ちることだ。目安として、読み取り中心や静的なテーブルは高く(ぎっしり詰める)、途中への挿入が多い書き込み中心なら低くする。PostgreSQLではHOT更新と結びつき、ページ上の空きがあればUPDATEでインデックスに触れずに済む。SQL Serverではインデックスごとに設定する。書き込み性能チューニングの古典的なつまみである。

← 用語集に戻る