Zum Inhalt springen

Oracle: Index

Aus Wikibooks



Ein Index ist ein Datenbanksegment, dass über ein oder mehrere Spalten einer Tabelle erstellt wird. Der Datenzugriff einer Tabelle wird somit schneller. Auf eine bestimmte Spaltenfolge kann nur ein Index erstellt werden.


Es gibt verschiedene Arten von Indizes:

  • B-tree Index
  • funktionsbasierter B-tree Index
  • B-tree Cluster Index
  • Hash Cluster Index
  • Reverse Key Index
  • Bitmap Index
  • Bitmap Join Index


Eine spezielle Möglichkeit sind Index-Organized Tables. Hier gibt es nur die Index-Struktur und die sonst zugrundeliegende Tabelle entfällt.

Wenn die Tabelle, auf die sich ein Index bezieht, partitioniert ist, dann kann der Index in der selben Weise partitioniert werden (lokale Partitionierung). Er kann auch ohne Partitionierung als eine einzige Struktur erstellt werden oder er kann eine ganz eigene Partitionierung haben (globale Partitionierung).

Datadictionary-Views für Indizes

[Bearbeiten]

Alle Indizes anzeigen.

In der Spalte UNIQUENESS ist angegeben, ob es sich um einen eindeutigen Index handelt (UNIQUE) oder die Indexwerte in der Tabelle mehrmals vorkommen dürfen (NONUNIQUE)

 SELECT INDEX_NAME, TABLE_NAME, UNIQUENESS FROM USER_INDEXES

Indexpartitionen anzeigen:

 SELECT * FROM USER_IND_PARTITIONS