Festlegen des Füllfaktor für Indizes

Bei der Installation des SQL-Servers wird der Füllfaktor für Indizes default auf 100 % gesetzt.
Dies hat zur Folge, dass bei einem Insert die Indizes direkt fragmentiert werden. Um diesen Umstand zu umgehen kann man den Füllfaktor manuell festlegen.

EXEC sys.sp_configure N'fill factor (%)', N'70' 
GO 
RECONFIGURE WITH OVERRIDE
GO

In diesem Beispiel wurde der Füllfaktor auf 70% gesetzt.

Welchen Füllfaktor einstellen?

Diese Frage stellen sich viele Datenbankdesigner und -administratoren. Eine pauschale Aussage, die auf alle Zutrifft kann man hier nicht geben.

Der Füllfaktor hängt von vielen Parametern ab:

  • Wie viele Daten werden im laufenden Betrieb eingefügt, geändert oder gelöscht?
  • Handelt es sich vielleicht um eine Archiv-Datenbank?

Die Liste kann man bis ins unendliche weiterführen.

Ich habe die Erfahrung gemacht, dass bei einer produktiven Datenbank ein Füllgrad zwischen 70 % und 90 % passend ist. Je mehr Daten gespeichert, geändert oder gelöscht werden umso näher gehe ich an die 70 % Marke.

Bei einer Archiv-Datenbank oder einer Reporting-Datenbank, in die z.B. nur einmal in der Nacht Daten importiert werden lasse ich die Default-Einstellung auf 100 %.

Jeder Datenbankadministrator / -entwickler muss hier seine Applikation auf die Probe stellen und durch zahlreiche Test den optimalen Wert für den Füllgrad der Indizes ermitteln.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar