Unterschied zwischen Clustered und nicht gruppierter Index
Hauptunterschied zwischen Clustered und Non-clustered Index
- Ein Clusterindex ist ein Indextyp, der die Datenzeilen in der Tabelle nach ihren Schlüsselwerten sortiert, während der nicht gruppierte Index die Daten an einer Stelle und die Indizes an einer anderen Stelle speichert.
- ClusterDer nicht gruppierte Index speichert Datenseiten in den Blattknoten des Index, während die nicht gruppierte Indexmethode niemals Datenseiten in den Blattknoten des Index speichert.
- Der Clusterindex erfordert keinen zusätzlichen Speicherplatz, wohingegen der nicht gruppierte Index zusätzlichen Speicherplatz erfordert.
- Cluster Index bietet einen schnelleren Datenzugriff, der nicht gruppierte Index ist dagegen langsamer.

Was ist ein Index?
Ein Index ist ein Schlüssel, der aus einer oder mehreren Spalten in der Datenbank erstellt wird und das Abrufen von Zeilen aus der Tabelle oder Ansicht beschleunigt. Dieser Schlüssel hilft einer Datenbank wie Oracle, SQL Server, MySQLusw., um die mit Schlüsselwerten verknüpfte Zeile schnell zu finden.
Es gibt zwei Arten von Indizes:
- ClusterHrsg. Index
- Non- ClusterHrsg. Index
Non-Profit Clustered-Index?
Cluster Index ist ein Indextyp, der die Datenzeilen in der Tabelle nach ihren Schlüsselwerten sortiert. In der Datenbank gibt es nur einen gruppierten Index pro Tabelle.
Ein gruppierter Index definiert die Reihenfolge, in der Daten in der Tabelle gespeichert werden, die nur auf eine Art sortiert werden können. Daher kann es für jede Tabelle nur einen einzigen gruppierten Index geben. In einem RDBMS können Sie normalerweise mit dem Primärschlüssel einen gruppierten Index basierend auf dieser bestimmten Spalte erstellen.
Was ist ein nicht gruppierter Index?
Ein nicht gruppierter Index speichert die Daten an einem Ort und die Indizes an einem anderen Ort. Der Index enthält Zeiger auf den Speicherort dieser Daten. Eine einzelne Tabelle kann viele nicht gruppierte Indizes haben, da ein Index im nicht gruppierten Index an verschiedenen Orten gespeichert ist.
Beispielsweise kann ein Buch mehr als ein Register haben: eines am Anfang, das den Inhalt des Buches nach Einheiten anzeigt, während das zweite Register das Verzeichnis der Begriffe in alphabetischer Reihenfolge zeigt.
Ein nicht gruppierter Index wird im nicht ordnenden Feld der Tabelle definiert. Mit dieser Art der Indizierungsmethode können Sie die Leistung von Abfragen verbessern, die Schlüssel verwenden, die nicht als Primärschlüssel zugewiesen sind. Mit einem nicht gruppierten Index können Sie einer Tabelle einen eindeutigen Schlüssel hinzufügen.
Charakteristisch für ClusterHrsg. Index
- Standardmäßige und sortierte Datenspeicherung
- Verwenden Sie für einen Index nur eine oder mehrere Spalten
- Hilft Ihnen, Daten und Index zusammen zu speichern
- Zersplitterung
- Einkauf & Prozesse
- Clustered-Index-Scan und Index-Suche
- Schlüsselsuche
Merkmale nicht gruppierter Indizes
- Nur Schlüsselwerte speichern
- Zeiger auf Heap/Clustered Indexzeilen
- Ermöglicht den Zugriff auf sekundäre Daten
- Brücke zu den Daten
- OperaFunktionen von Index Scan und Index Seek
- Sie können einen nicht gruppierten Index für eine Tabelle oder Ansicht erstellen.
- Jede Indexzeile im nicht gruppierten Index speichert den nicht gruppierten Schlüsselwert und einen Zeilenlokalisierer.
Clustered vs. nicht gruppierter Index in SQL: Wichtige Unterschiede
| Kenngrößen | Clustered | Nicht gruppiert |
|---|---|---|
| Verwenden für | Sie können die Datensätze sortieren und den Clusterindex entsprechend der Reihenfolge physisch im Speicher speichern. | Ein nicht gruppierter Index hilft Ihnen, eine logische Reihenfolge für Datenzeilen zu erstellen und verwendet Zeiger für physische Datendateien. |
| Speichermethode | Ermöglicht das Speichern von Datenseiten in den Blattknoten des Index. | Diese Indizierungsmethode speichert niemals Datenseiten in den Blattknoten des Index. |
| Größe | Die Größe des gruppierten Indexes ist ziemlich groß. | Die Größe des nicht gruppierten Index ist im Vergleich zum gruppierten Index klein. |
| Datenzugriff | Schneller | Langsamer im Vergleich zum Clustered-Index |
| Zusätzlicher Speicherplatz | Nicht benötigt | Erforderlich, um den Index separat zu speichern |
| Schlüsseltyp | Standardmäßig sind die Primärschlüssel der Tabelle a ClusterHrsg. Index. | Es kann mit einer eindeutigen Einschränkung für die Tabelle verwendet werden, die als zusammengesetzter Schlüssel fungiert. |
| Hauptmerkmal | Ein gruppierter Index kann die Leistung des Datenabrufs verbessern. | Es sollte für Spalten erstellt werden, die in Joins verwendet werden. |
Ein Beispiel für einen Clustered-Index
Im folgenden Beispiel ist SalesOrderDetailID der gruppierte Index. Beispielabfrage zum Abrufen von Daten
SELECT CarrierTrackingNumber, UnitPrice FROM SalesData WHERE SalesOrderDetailID = 6
Ein Beispiel für einen nicht gruppierten Index
Im folgenden Beispiel wird wie folgt ein nicht gruppierter Index für OrderQty und ProductID erstellt
CREATE INDEX myIndex ON SalesData (ProductID, OrderQty)
Die folgende Abfrage wird im Vergleich zum gruppierten Index schneller abgerufen.
SELECT Product ID, OrderQty FROM SalesData WHERE ProductID = 714
Vorteile von ClusterHrsg. Index
Die Vorteile/Nutzen des gruppierten Indexes sind:
- ClusterED-Indizes sind eine ideale Option für Bereichs- oder Gruppierungsabfragen mit Max-, Min- und Count-Typen
- Bei dieser Art von Index kann eine Suche direkt zu einem bestimmten Punkt in den Daten erfolgen, sodass Sie von dort aus sequentiell weiterlesen können.
- ClusterDie Indexmethode ed verwendet einen Standortmechanismus, um den Indexeintrag am Anfang eines Bereichs zu lokalisieren.
- Dies ist eine effektive Methode für Bereichssuchen, wenn ein Bereich von Suchschlüsselwerten angefordert wird.
- Hilft Ihnen, Seitenübertragungen zu minimieren und die Cache-Treffer zu maximieren.
Vorteile des nicht gruppierten Index
Die Verwendung eines nicht gruppierten Index bietet folgende Vorteile:
- Ein nicht gruppierter Index hilft Ihnen, Daten schnell aus der Datenbanktabelle abzurufen.
- Hilft Ihnen, die mit dem Clustered-Index verbundenen Mehrkosten zu vermeiden
- Eine Tabelle kann mehrere nicht gruppierte Indizes haben in RDBMS. Es kann also verwendet werden, um mehr als einen Index zu erstellen.
Nachteile von ClusterHrsg. Index
Hier sind die Nachteile/Nachteile der Verwendung eines Clusterindex:
- Viele Einfügungen in nicht sequentieller Reihenfolge
- Ein gruppierter Index erstellt viele konstante Seitenaufteilungen, die sowohl Datenseiten als auch Indexseiten umfassen.
- Mehrarbeit für SQL für Einfügungen, Aktualisierungen und Löschungen.
- Ein gruppierter Index benötigt mehr Zeit zum Aktualisieren von Datensätzen, wenn die Felder im gruppierten Index geändert werden.
- Die Blattknoten enthalten meist Datenseiten im gruppierten Index.
Nachteile des nicht gruppierten Index
Hier sind die Nachteile der Verwendung eines nicht gruppierten Indexes:
- Ein nicht gruppierter Index hilft Ihnen, Daten in einer logischen Reihenfolge zu speichern, erlaubt jedoch nicht, Datenzeilen physisch zu sortieren.
- Der Suchvorgang für nicht gruppierte Indizes wird kostspielig.
- Bei jeder Aktualisierung des Gruppierungsschlüssels ist eine entsprechende Aktualisierung des nicht gruppierten Indexes erforderlich, da dieser den Gruppierungsschlüssel speichert.



