Index Rebuild / Reorganize
SQL ServerWartungBefehl
-- Rebuild (high fragmentation > 30%). ONLINE requires Enterprise:
ALTER INDEX IX_Customer_Email ON dbo.Customer
REBUILD WITH (ONLINE = ON, MAXDOP = 4, SORT_IN_TEMPDB = ON);
-- All indexes of a table:
ALTER INDEX ALL ON dbo.Customer REBUILD WITH (FILLFACTOR = 90);
-- Reorganize (moderate fragmentation 5-30%, always online, can be stopped):
ALTER INDEX IX_Customer_Email ON dbo.Customer REORGANIZE;Was es tut
REBUILD erstellt den Index von Grund auf neu (beseitigt Fragmentierung vollständig, aktualisiert Statistiken); REORGANIZE verdichtet die Blattebene an Ort und Stelle (leichtgewichtig, nicht blockierend).
Wann einsetzen
REORGANIZE bei 5-30% Fragmentierung, REBUILD über 30%. Bei großen Tabellen in Wartungsfenstern.
Vorsicht
ONLINE = ON ist nur in Enterprise/Developer verfügbar; in Standard OFF verwenden (die Tabelle wird gesperrt). REBUILD erzeugt viel Log und braucht Platz. MAXDOP und SORT_IN_TEMPDB beeinflussen den Ressourcenverbrauch.