Antwort

1

FillFactor kommt nur dann in ein Bild, wenn ein Index neu erstellt wird, indem der Prozentsatz der freien Fläche mithilfe von FillFactor Setting beibehalten wird.

Bei der Mergereplikation werden Änderungen an beiden Quellen über Trigger verfolgt und synchron gehalten.

Wenn Sie fillfactor auf 80% setzen, können immer noch 20% des Platzes für Einfügungen verwendet werden. Wenn Sie auf 100% setzen, lassen Sie keinen Platz, da Sie die Möglichkeit haben, Seiten zu teilen. Page splits are very expensiv e in Bezug auf log growth.so gibt es eine Chance, dass Ihre Einsätze langsamer sein werden.

Aber mit Identity-Spalte werden alle Werte erhöht, so dass sie logisch am Ende der Seite hinzugefügt werden.So die Einstellung eines Werts von 0 oder 100 sollte die Leistung verbessern.Aber Füllfaktor betrifft nur Ihre Blattebenenseiten und was ist, wenn Sie eine der Zeile aktualisieren, die die Größe verursachen kann die Gesamtlänge der page..Here überschreiten ist, was MSDN sagt in diesem Fall

Ein Nicht-null-Füllfaktor als 0 oder 100 für die Leistung gut sein kann wenn die neuen Daten gleichmäßig in der Tabelle verteilt sind. Wenn jedoch alle Daten am Ende der Tabelle hinzugefügt werden, wird der leere Bereich in den Indexseiten nicht gefüllt. Wenn die Indexschlüsselspalte beispielsweise eine IDENTITY-Spalte ist, nimmt der Schlüssel für neue Zeilen immer zu und die Indexzeilen werden logisch am Ende des Indexes hinzugefügt. Wenn vorhandene Zeilen mit Daten aktualisiert werden, die die Größe der Zeilen verlängern, verwenden Sie einen Füllfaktor von weniger als 100. Die zusätzlichen Bytes auf jeder Seite helfen, Seitenaufteilungen zu minimieren, die durch die zusätzliche Länge in den Zeilen verursacht werden.

einen guten Füllfaktor Wert Einstellung hängt davon ab, wie Sie Ihre Datenbank ist used..Heavy Inserts (freiere sollte es sein sollte, und Füllfaktor Wert kleiner sein, aber wählt werden einige, was teuer werden) .Weniger Einsätze (lassen Sie füllen Faktor bei einigen hohen Wert)

einfache Suche Ausbeuten so viele results .but Sie sollten sie zuerst testen und es zu einem Szenario anzupassen

+0

Gute Erklärung der Füllfaktor und es hat Sie mich über eine bevorstehende Änderung zu denken, wo wir auf Teilnehmer ungeraden Zahlen auf Verleger und sogar Zahlen tun werden. In diesem Fall glaube ich, dass ich den Füllfaktor um 90 oder 80 Prozent zu Beginn belassen würde. Vielen Dank! – Paul

1

FILLFACTOR hauptsächlich zur Indizierung verwendet wird.

Da wollen Sie den Füllfaktor ändern, um 100.Its meinen Sie fallen müssen und den Index für die merge Tabellen mit Fillfactor 100.

Und wenn in Ihrem Mergereplikation ‚Copy Cluster neu erstellen Index‘ und ‚Copy Non Clustered Index‘ist TRUE Für alle Artikeleigenschaften, dann, wenn Sie Index auf dem Verleger erstellen, wird es auch auf anderen Teilnehmer erhalten replizieren.

Also, wenn Sie schwere Zusammenführungstabellen mit Index haben, würde ich empfehlen, es außerhalb der Stunden zu implementieren, weil Indexerstellung Zeit braucht, um auf Abonnenten zu replizieren.

+0

Großartig! Das war, was ich suchte. Ich dachte mir, dass etwas getan werden musste, aber habe keine Hände für diese Situation. Vielen Dank! – Paul

1

Sie können den Füllfaktor auch durch diese Abfrage überprüfen. Ja, aber wie @Ragesh sagte, beeinflusst die Änderung des Füllfaktors (Replikation) die Leistung.

Der Füllfaktor steht in direktem Zusammenhang mit Indizes. Jedes Mal, wenn wir hier das Wort "Index" eingeben, beziehen wir es direkt auf die Leistung. Index verbessert Leistung - das ist wahr, aber es gibt eine Reihe anderer Optionen zusammen mit ihm.

SELECT * 
FROM sys.configurations 
WHERE name ='fill factor (%)' 

ist hier guter Artikel und Erklärung der Anfrage.

http://sqlmag.com/blog/what-fill-factor-index-fill-factor-and-performance-part-1

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9ef72506-f1b0-4700-b836-851e9871d0a6/merge-table-indexes-fill-factor?forum=sqlreplication

Verwandte Themen