Nehmen wir an, wir haben ein OLTP-System mit SQL Server. Nehmen wir an, wir haben einen Clustered-Index für eine Tabelle.Warum sollten Sie fillfactor in dieser Situation auf einen niedrigen Wert setzen?
Bitte geben Sie mir einige Antworten auf die folgenden Fragen:
Wenn Sie nur neue Datensätze einfügen, die den Index, um zu folgen, dann würde die Seitenteilung nur auf den Seiten begrenzt werden - bei oder nach - die letzte Seite, die bestanden Zum Zeitpunkt der letzten Indexneuerstellung, richtig? Wenn Sie nur neue Datensätze einfügen, die der Indexreihenfolge folgen, wird auf keiner Seite jemals eine Seitenaufteilung auftreten, die sich vor der Reihenfolge der letzten Seite befindet, die zum Zeitpunkt des letzten Indexes existierte umbauen, richtig?
Das heißt, solange Sie nicht versuchen, Datensätze in die Mitte des vorhandenen Index einzufügen, werden Sie nie eine Seitenaufteilung auf einer Seite verursachen, die sich vor der letzten Seite befindet, die zur Zeit Ihrer Existenz existiert letzter Index neu aufgebaut, korrekt?
Wenn das obige alles wahr ist, stimmt es dann auch nicht, dass Sie es normalerweise vermeiden, Datensätze in die Mitte eines vorhandenen Indexes einzufügen? Ich meine, wann würdest du so etwas machen wollen?
Ich stelle diese Fragen, weil ich nicht genau verstehen kann, warum jemand einen Füllfaktor auf einen niedrigen Wert für einen Index auf einem OLTP-System festlegen würde. Meine Gedanken sind: "Wenn Sie nicht vorhaben, den Index durch Einfügen von Datensätzen in die Mitte des vorhandenen Index zu durcheinander zu bringen, dann sollten Sie den gesamten ungenutzten leeren Speicherplatz in jeder Indexseite und Datenseite reservieren, wenn er nie gefüllt wird oben?"
Ich verstehe, dass Seitenaufteilungen ab der letzten Seite (Reihenfolge) - die zum Zeitpunkt der letzten Indexerstellung existierte - abgehen. Aber können Sie näher erläutern, warum jemand fillfactor auf einen niedrigen Wert für ein OLTP-System festlegen würde, wo Sie keine Datensätze in die Mitte des vorhandenen Index einfügen möchten?
Wenn mir etwas in meinem Verständnis fehlt, wie das alles funktioniert, lass es mich auch wissen.
Danke.
ist es gut, das gleiche auf DBA .SE zu fragen – TheGameiswar