SQL ServerのFILL FACTORがデフォルトで0(100%)になるのはなぜですか?


9

FILL FACTOR、ページ、インデックス構造を理解しているため、100%FILL FACTORがまれなベストプラクティスである理由を理解しています。それでは、なぜデフォルトで0(または100%)になっているのですか?なぜ90または95ではないのですか?

行方不明のものはありますか?

回答:


8

マイクロソフトがこれを行う理由について、ここでいくつかの提案を捨てるだけです。

  1. 可能な限り最高のOLAPパフォーマンスになるようにデフォルトを調整しました(フィルファクターが0/100のページ読み取りが少ない)。
  2. 彼らは、INSERT編集されたデータがテーブルの最後にある可能性が最も高いと想定しているため、ページあたりの余分なスペースが役に立たなくなります
  3. 彼らは、通常、UPDATEdデータは行データをあまり長くせず、ページ分割を引き起こすと想定しています。

これは推測です。この質問に正確に答えられるのは、SQL Serverチーム自身だけです。


5
確かに、これらは賢明な理論のように見え、多くの場合、ページ上のスペースを永久に浪費することが保証されている任意のフィルファクターを選択するよりも、一般的な顧客にとってははるかに適切です。
アーロンバートランド

同意できる答えが得られたとは思えません。合理的な答えがあるとは思いませんでしたが、あなたの#2と#3のポイントは非常に賢明です。ありがとう!
NTDLS 2012年

@NTDLS問題ありません。喜んでお手伝いします。
トーマス・ストリンガー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.