DBAtlas · Atlas für Datenbankbetrieb

Index Rebuild / Reorganize

SQL ServerWartung

Befehl

-- 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.

In DBAtlas öffnen →

Verwandte Einträge