Inhaltsverzeichnis:
Definition - Was bedeutet Index (IDX)?
In Datenbanksystemen ist ein Index (IDX) eine Datenstruktur, die für Spalten in einer Datenbanktabelle definiert ist, um Datenabrufvorgänge erheblich zu beschleunigen. Ein Index ist eine kleine Kopie einer Datenbanktabelle, die nach Schlüsselwerten sortiert ist. Ohne einen Index müssen Abfragesprachen wie SQL möglicherweise die gesamte Tabelle von oben nach unten durchsuchen, um relevante Zeilen auszuwählen.
Techopedia erklärt Index (IDX)
Ein Index für eine Datenbanktabelle muss sorgfältig erstellt werden, da Indizes Speicherplatz belegen und in der Datenbank gespeichert werden. Ein Index kann auch dazu führen, dass Schreibvorgänge länger dauern, da der Index aktualisiert werden muss, wenn die zugrunde liegende Tabelle aktualisiert wird.
Die verschiedenen Datenstrukturen, die zum Erstellen von Indizes verwendet werden, sind B + -Bäume, ausgeglichene Bäume und Hashes. Mit diesen Datenstrukturen ist ein Scan der gesamten Datenbanktabelle relativ einfach.
Indizes können auch für Funktionen oder Ausdrücke erstellt werden. Ein eindeutiger Index verhindert doppelte Einträge im Index und in der zugehörigen Tabelle und fungiert somit als Einschränkung. Die Spaltenreihenfolge ist auch ein wichtiger Aspekt der Indizierung. Die erste indizierte Spalte hat immer eine Priorität. Zeilenbezeichner werden basierend auf den ersten indizierten Spalten abgerufen. In einem normalen Szenario geben Indizes keinen Wert zurück, sondern lokalisieren nur Datensätze.
Im Allgemeinen gibt es zwei Arten von Indexarchitekturen:
- Clustered-Indizes: Clustered-Indizes speichern die Zeilendaten in der angegebenen Reihenfolge. Für eine Datenbanktabelle kann nur ein einziger Clustered-Index erstellt werden. Dies funktioniert nur dann effizient, wenn die Daten in auf- und absteigender Reihenfolge sortiert sind oder für die in der Tabelle enthaltenen Spalten ein Grenzwert festgelegt wurde. Eine solche sequentielle Anordnung von Daten auf Platten verringert das Lesen von Blöcken.
- Nicht gruppierte Indizes: In nicht gruppierten Indizes sind die Daten zufällig angeordnet, aber eine logische Reihenfolge wird intern vom Index angegeben. Daher ist die Indexreihenfolge nicht mit der physischen Reihenfolge der Daten identisch. Eine Anweisung "create index" erstellt standardmäßig einen nicht gruppierten Index, der auch einen gruppierten Index für den Primärschlüssel erstellt. Die Indexschlüssel sind hier so sortiert, dass das Blatt einen Zeiger auf die Seite enthält. Nicht gruppierte Indizes eignen sich gut für Tabellen, in denen Daten häufig geändert werden und der Index für Spalten erstellt wird, die in der Reihenfolge von WHERE- und JOIN-Anweisungen verwendet werden.