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.
Unterschied zwischen Clustered und Non-clustered Index
Clustered vs. nicht gruppierter Index

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

Beispiel fรผr einen gruppierten Index

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)

Beispiel fรผr einen nicht gruppierten Index

Die folgende Abfrage wird im Vergleich zum gruppierten Index schneller abgerufen.

SELECT Product ID, OrderQty
FROM SalesData
WHERE ProductID = 714

Beispiel fรผr einen nicht gruppierten Index

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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: