Gewusst wie: Sortieren von Daten in einem gruppierten Index
Wenn Sie in einer Microsoft SQL Server-Datenbank einen gruppierten Index erstellen oder ändern, legen Sie eine Option fest, um zu steuern, wann die Daten im Index sortiert werden.Die Daten können entweder bei der Erstellung des Index sortiert werden, oder sie werden dann sortiert und neu organisiert, wenn die Tabelle fragmentiert wurde.Ausführliche Informationen über die Ursachen von Tabellenfragmentierung und empfohlene Lösungen finden Sie unter dem Thema "DBCC CHECKDB" in SQL Server Books Online.
Das Sortieren der Daten bei der Erstellung des Index ist immer die schnellere der beiden Optionen, da hierfür kein Kopieren der Daten und keine Neuerstellung nicht gruppierter Indizes erforderlich ist.
Hinweis |
---|
Eine neue Version vom Tabellen-Designer wird für Datenbanken im SQL Server 2012-Format angezeigt. In diesem Thema wird die alte Version vom Tabellen-Designer beschrieben, die mit Datenbanken in früheren Formaten von SQL Server verwendet wird. In der neuen Version können Sie eine Tabellendefinition durch eine grafische Schnittstelle oder direkt in einem Skriptbereich ändern. Wenn Sie die grafische Oberfläche verwenden, wird die Tabellendefinition im Skriptbereich automatisch aktualisiert. Um den SQL-Code im Skriptbereich anzuwenden, wählen Sie die Schaltfläche Aktualisieren aus. Weitere Informationen zur neuen Version finden Sie unter Vorgehensweise: Erstellen von Datenbankobjekten mit dem Tabellen-Designer. |
Hinweis |
---|
Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen. |
So sortieren Sie Indexwerte
Klicken Sie im Server Explorer mit der rechten Maustaste auf die Tabelle mit den Indexwerten, die sortiert werden sollen, und klicken Sie im Kontextmenü auf Tabellendefinition öffnen.
Wählen Sie im Kontextmenü den Eintrag Indizes/Schlüssel.
Wählen Sie den Index in der Liste Ausgew. Index aus.
Stellen Sie sicher, dass die Option Als CLUSTERED erstellen ausgewählt ist.
Wenn Sie SQL Server 6.5 verwenden, werden die Sortieroptionen angezeigt, und Sie müssen eine der Sortieroptionen auswählen:
Option
Aktion
Daten sortieren
Die Standardoption.Die Daten werden bei der Erstellung des Index sortiert.
Daten bereits sortiert
Die bei der Erstellung eines gruppierten Index durchgeführte Sortierung wird aufgehoben, und es wird überprüft, ob die Daten sortiert wurden. Hierzu wird jeder Indexwert überprüft, um zu bestimmen, ob er höher als der vorhergehende ist.Wenn eine der Zeilen die Prüfung nicht besteht, kann der Index beim Speichern der Tabelle nicht erstellt werden.
Wenn die Daten die Prüfung bestehen, ist diese Option immer schneller als die Option Sortierte Daten neu ordnen, weil die Daten nicht kopiert und keine nicht gruppierten Indizes neu erstellt werden.Diese Option ist nützlich, wenn ein Füllfaktor angegeben ist, um die Seiten, auf denen eine Tabelle gespeichert ist, zu komprimieren oder zu erweitern.
Weitere Informationen zu Füllfaktoren finden Sie unter Angeben eines Füllfaktors für einen Index.
Sortierte Daten neu ordnen
Entspricht Daten bereits sortiert, mit dem Unterschied, dass diese Option immer langsamer ist, da die Daten kopiert und nicht gruppierte Indizes neu erstellt werden.Das Neuordnen der Daten ist sinnvoll, wenn eine Tabelle fragmentiert wurde und Sie Indexwerte erneut sortieren möchten.
Hinweis Mit Daten bereits sortiert wird der gruppierte Index mit der Option SORTED_DATA erstellt.Mit Sortierte Daten neu ordnen wird der gruppierte Index mit der Option SORTED_DATA_REORG erstellt.Wenn Sie eine dieser beiden Optionen auswählen und eine Zeile die Prüfung nicht besteht, schlägt das Erstellen des Index beim Speichern der Tabelle fehl.Bei einem Fehlschlagen können Sie entweder die Daten reparieren oder die Option Daten sortieren auswählen.
Klicken Sie auf Schließen.
Siehe auch
Referenz
Dialogfeld "Indizes/Schlüssel"