Empfohlen, 2024

Tipp Der Redaktion

Unterschied zwischen gruppiertem und nicht gruppiertem Index

Clustered- und Non-Clustered-Index sind die Typen des Sortierindexes auf einer Ebene, wobei der Clustered-Index bestimmt, wie die Daten in den Zeilen einer Tabelle gespeichert werden. Andererseits speichert der nicht gruppierte Index die Daten an einer einzigen Stelle und die Indizes werden an einer anderen Stelle gespeichert. Darüber hinaus kann jede Tabelle nur einen Clusterindex haben. Im Gegensatz dazu kann eine Tabelle im Falle eines nicht gruppierten Index mehrere nicht gruppierte Indizes haben.

Die Indizes sind im Wesentlichen für die effiziente Durchsetzung von Integritätsbedingungen und die effiziente Verarbeitung von Abfragen und Transaktionen erforderlich. Diese werden in Tabellen und Ansichten erstellt. Zum Beispiel die Indizes, die in Büchern verwendet werden, was einem Benutzer den schnellen Zugriff auf den Inhalt eines Buches ermöglicht, ähnlich wie die Indizes in der SQL.

Vergleichstabelle

Basis zum VergleichClustered IndexNicht gruppierter Index
BasicBestimmt die Speicherreihenfolge der Zeilen in einer Tabelle als Ganzes.Bestimmt die Speicherreihenfolge der Zeilen in einer Tabelle mit Hilfe einer separaten physischen Struktur.
Anzahl der pro Tabelle zulässigen IndizesNur ein gruppierter IndexMehrere nicht gruppierte Indizes
DatenzugriffSchnellerIm Vergleich zum Clustered-Index langsamer
Zusätzlicher SpeicherplatzNicht benötigtErforderlich, um die Indizes separat zu speichern

Definition des Clustered-Index

Der Clustered-Index wird im Wesentlichen zum Sortieren der Zeilen in einer Tabelle verwendet. Eine Tabelle kann nur einen Clusterindex haben, da die Zeilen in einer Tabelle nur in einer Reihenfolge sortiert werden können. Es gibt jedoch Möglichkeiten, einen zusammengesetzten Clusterindex zu erstellen. Die Spalten sind im Clustered-Index enthalten, und die logische oder indizierte Reihenfolge der Schlüsselwerte entspricht der physisch gespeicherten Reihenfolge der entsprechenden Zeilen. Wenn für die Daten kein Clustered-Index vorhanden ist, werden sie in einem Heap gespeichert.

Der Zugriff auf Datensätze in einem Heap ist sehr zeitaufwändig, wobei jeder Eintrag in einer Tabelle gescannt wird, um auf die gewünschten Daten zuzugreifen. Beim Tabellenscan konnte nicht festgestellt werden, ob weitere Übereinstimmungen verfügbar sind oder nicht. Diese Methode war also sehr ineffizient.

Bei Verwendung eines Clustered-Index ist der Datenzugriff schneller und systematischer, wenn die Tabelle in einer bestimmten Reihenfolge angeordnet ist. Sie wird im Bestellfeld der Tabelle definiert. Ihr Suchschlüssel wird verwendet, um die sequentielle Anordnung der Datei oder Tabelle anzugeben. Ein Clustered-Index wird automatisch erstellt, wenn für eine Tabelle ein Primärschlüssel definiert wird.

Definition des nicht gruppierten Index

Der nicht gruppierte Index speichert die Daten an einer Stelle und die Indizes an einer anderen Stelle, und der Index hätte Zeiger auf den Speicherort der Daten. Eine Tabelle kann mehrere nicht gruppierte Indizes enthalten, da der Index im nicht gruppierten Index an einem anderen Ort gespeichert wird. Zum Beispiel kann ein Buch mehr als einen Index haben, einen am Anfang, der den Inhalt einer Bucheinheit zeigt, und einen anderen Index am Ende, der den Index der Begriffe in alphabetischer Reihenfolge anzeigt.

Sie wird im nicht bestellenden Feld der Tabelle definiert. Der nicht gruppierte Index kann die Leistung von Abfragen verbessern, die andere Schlüssel als Primärschlüssel verwenden. Ein nicht gruppierter Index wird automatisch erstellt, wenn für eine Tabelle ein eindeutiger Schlüssel definiert wird.

Hauptunterschiede zwischen gruppiertem und nicht gruppiertem Index

  1. Die Anzahl der gruppierten Indizes, die eine Tabelle haben kann, ist nur eine. Eine Tabelle kann jedoch mehrere nicht gruppierte Indizes enthalten.
  2. Ein gruppierter Index ist schneller als ein nicht gruppierter Index, da der nicht gruppierte Index auf die Basistabelle zurückgreifen muss. Im gegenteiligen Fall ist dies im Clustered-Index nicht der Fall.
  3. In einem nicht gruppierten Index wird der Index an einem separaten Ort gespeichert, für den zusätzlicher Speicherplatz erforderlich ist. Im Gegensatz dazu speichert der Clustered-Index die Basistabellendaten in derselben physischen Reihenfolge wie die logische Reihenfolge des Index, sodass kein zusätzlicher Speicherplatz erforderlich ist.

Fazit

Der Clustered-Index ist eine Methode zum Speichern von Daten in den Zeilen einer Tabelle in einer bestimmten Reihenfolge. Wenn also die gewünschten Daten gesucht werden, wird nur die entsprechende Zeile betroffen, die die Daten enthält, und als Ausgabe dargestellt. Auf der anderen Seite befindet sich der nicht gruppierte Index in einer physisch getrennten Struktur, die bei der Suche auf die Basisdaten verweist. Eine nicht gruppierte Struktur kann eine andere Sortierreihenfolge haben.

Top