Warum ist der Füllfaktor in SQL Server standardmäßig 0 (100%)?

9

Ich verstehe den Füllfaktor, die Seiten und die Indexstruktur und verstehe daher, warum ein 100% iger Füllfaktor eine seltene bewährte Methode ist. Warum wird standardmäßig 0 (oder 100%) verwendet? Warum nicht 90 oder 95?

Fehlt mir etwas?

NTDLS
quelle

Antworten:

8

Wirf hier nur ein paar Vorschläge heraus, warum Microsoft dies tun würde:

  1. Sie haben ihre Standardeinstellung auf die bestmögliche OLAP-Leistung eingestellt (weniger Seitenlesevorgänge mit einem Füllfaktor von 0/100).
  2. Sie gehen davon aus, dass sich INSERTed-Daten höchstwahrscheinlich am Ende der Tabelle befinden, wodurch der zusätzliche Speicherplatz pro Seite unbrauchbar wird
  3. Sie gehen davon aus, dass UPDATEd-Daten in der Regel die Zeilendaten nicht sehr oft verlängern, was zu einer Seitenteilung führt

Dies ist nur eine Vermutung hier. Die einzigen Personen, die diese Frage wirklich genau beantworten können, sind das SQL Server-Team selbst.

Thomas Stringer
quelle
5
Richtig, diese Theorien scheinen vernünftig zu sein und sind für den typischen Kunden weitaus wahrscheinlicher als die Auswahl eines beliebigen Füllfaktors, bei dem in vielen Fällen garantiert, dass Sie dauerhaft Speicherplatz auf einer Seite verschwenden.
Aaron Bertrand
Ich kann nicht glauben, dass ich eine Antwort bekommen habe, der ich zustimmen kann. Ich habe nicht erwartet, dass es eine vernünftige Antwort gibt, aber Ihre Punkte 2 und 3 sind sehr vernünftig. Vielen Dank!
NTDLS
@NTDLS kein Problem, gerne helfen.
Thomas Stringer