In einer relationalen Datenbank werden die Daten in Tabellen gespeichert. Diese Tabellen sind über Einschränkungen wie Fremdschlüssel miteinander verknüpft. Eine Datenbank besteht aus mehreren Tabellen. Manchmal ist es schwierig, die erforderlichen Daten zu suchen. Daher können die Indizes verwendet werden, um die Suche zu beschleunigen. Der in einer Datenbank verwendete Index ähnelt dem Index eines Buches. Ein Index eines Buches enthält das Kapitel mit den entsprechenden Seitennummern. Die Indizierung der Datenbank ist ähnlich. Ein Index hat eine ähnliche Struktur wie eine Tabelle und erfordert etwas Datenbankspeicher. Es gibt zwei Arten von Indizes, die als Clustered- und Non-Clustered-Index bezeichnet werden. In Clustered Index stimmt die logische Reihenfolge des Index mit der physischen Reihenfolge der Tabellenzeilen überein. In Nonclustered Index befinden sich der Index und die tatsächlichen Daten an unterschiedlichen Stellen, sodass der Index wie ein Zeiger zum Abrufen der realen Daten arbeitet. Das Hauptunterschied zwischen gruppierten und nicht gruppierten Index ist das Der gruppierte Index organisiert die tatsächlichen Daten, während der nicht gruppierte Index auf die tatsächlichen Daten zeigt. Wenn es viele Indizes gibt und die Datenspeicherung erhöht wird, sollten diese Indizes ebenfalls aktualisiert werden. Daher ist es wichtig, Indizes entsprechend der Anwendung zu erstellen, da dies die Geschwindigkeit verringern kann.
1. Übersicht und Schlüsseldifferenz
2. Was ist Clustered Index?
3. Was ist der Nonclustered-Index?
4. Ähnlichkeiten zwischen gruppiertem und nicht gruppiertem Index
5. Side-by-Side-Vergleich - Clustered vs. Nonclustered-Index in tabellarischer Form
6. Zusammenfassung
In einem gruppierten Index organisiert der Index die tatsächlichen Daten. Es ähnelt einem Telefonverzeichnis. Die Telefonnummern sind in alphabetischer Reihenfolge angeordnet. Die entsprechende Telefonnummer kann bei der Suche nach einem bestimmten Namen gefunden werden. Daher enthält der Clustering-Index die tatsächlichen Daten auf organisierte Weise. Es kann einen Index pro Tabelle geben.
Abbildung 01: Cluster vs. Non-Clustered-Index
Mit dem Primärschlüssel wird jeder Eintrag in der Tabelle angegeben. In einer Studententabelle kann die Student-ID als Primärschlüssel verwendet werden. In der Kundentabelle kann die customer_id der Primärschlüssel sein. Im Allgemeinen kann der Primärschlüssel zur Erstellung des Clustered-Index betrachtet werden. Grundsätzlich ist im Clustered-Index der Datenzugriff systematisch und schnell, da die logische Reihenfolge des Index und die Tabellenreihenfolge gleich sind.
In einem nicht gruppierten Index zeigt der Index auf die tatsächlichen Daten. Der Nonclustered-Index ist die Referenz auf die Daten. Daher können pro Tabelle mehrere Indizes vorhanden sein. Ein Beispiel für einen Nonclustered-Index ist ein Buch, das den Hauptindex mit der Beschriftung und der entsprechenden Seitennummer oder den Index am Ende des Buches mit wichtigen Begriffen in alphabetischer Reihenfolge mit der entsprechenden Seitennummer enthält. Dieser Index enthält nicht die tatsächlichen Daten. Es liefert jedoch die Informationen, die zum Erreichen der tatsächlichen Daten erforderlich sind. Daher befinden sich der Index und die Daten an unterschiedlichen Orten. Es benötigte also zusätzlichen Speicherplatz.
Der nicht gruppierte Index wird verwendet, wenn andere Schlüssel als der Primärschlüssel vorhanden sind. Im Allgemeinen ist der nicht gruppierte Index langsamer als der gruppierte Index.
Clustered vs. Nonclustered Index | |
Ein Clustered-Index ist ein Indextyp, bei dem die Tabellendatensätze physisch neu geordnet werden, um mit dem Index übereinzustimmen. | Ein nicht gruppierter Index ist ein Indextyp, der die Verweise auf die tatsächlichen Daten enthält. |
Anzahl der Indizes | |
Es kann einen gruppierten Index pro Tabelle geben. | Es können viele nicht gruppierte Indizes pro Tabelle vorhanden sein. |
Geschwindigkeit | |
Der Clustered-Index ist schneller als der Non-Clustered-Index. | Der nicht gruppierte Index ist langsamer als der gruppierte Index. |
Erforderlicher Speicherplatz | |
Der gruppierte Index erfordert keinen zusätzlichen Speicherplatz. | Der Nonclustered-Index benötigte zusätzlichen Speicherplatz. |
Eine relationale Datenbank enthält viele Daten. Daher ist es wichtig, über einen speziellen Mechanismus zu verfügen, um Daten schnell zu durchsuchen. Zur Erreichung dieser Aufgabe können Indizes verwendet werden. Es gibt zwei Arten von Indizes. Sie sind gruppiert und nicht gruppiert. In diesem Artikel wurde der Unterschied zwischen gruppiertem und nicht gruppiertem Index beschrieben. Im Clustered-Index stimmt die logische Reihenfolge des Index mit der physischen Reihenfolge der Tabellenzeilen überein. Im nicht gruppierten Index befinden sich der Index und die tatsächlichen Daten an unterschiedlichen Stellen. Es gibt also Zeiger, um die Daten abzurufen. Der Unterschied zwischen gruppierten und nicht gruppierten Indizes besteht darin, dass der gruppierte Index die tatsächlichen Daten organisiert, während der nicht gruppierte Index auf die tatsächlichen Daten zeigt.
1.CalebTheVideoMaker2. Datenbankdesign 39 - Indizes (Clustered, Nonclustered, Composite Index), CalebTheVideoMaker2, 17. Januar 2015. Hier verfügbar
2. „Was ist Clustered Index? - Definition von Techopedia. ”Techopedia.com. Hier verfügbar