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.



