Anfang des Inhaltsbereichs

Funktionsdokumentation Index  Dokument im Navigationsbaum lokalisieren

Verwendung

Mit Hilfe von Indizes können Sie das Durchsuchen einer Tabelle nach Datensätzen, die bestimmten Suchkriterien genügen, beschleunigen.

Ein Index kann als eine auf bestimmte Felder reduzierte Kopie einer Datenbanktabelle aufgefasst werden. Diese Kopie liegt stets in sortierter Form vor. Die Sortierung ermöglicht einen schnelleren Zugriff auf die Datensätze der Tabelle, z.B. über eine binäre Suche. Damit auch die nicht im Index enthaltenen Felder gelesen werden können, ist in einem Index noch ein Zeiger auf den zugehörigen Satz der eigentlichen Tabelle enthalten.

Funktionsumfang

Im System wird zwischen dem Primärindex und den Sekundärindizes einer Tabelle unterschieden. Der Primärindex besteht aus den Schlüsselfeldern der Tabelle sowie einem Zeiger auf die Nichtschlüsselfelder der Tabelle. Der Primärindex wird beim Anlegen der Tabelle auf der Datenbank automatisch erstellt.

Beispiel

Die Tabelle SCOUNTER im Flugmodell enthält die Zuordnung der Verkaufsschalter der Fluggesellschaften zu Flughäfen. Der Primärindex zu dieser Tabelle besteht aus den Schlüsselfeldern der Tabelle und einem Zeiger auf die Originaldatensätze. Dies wird in der folgenden Abbildung dargestellt.

Diese Grafik wird im zugehörigen Text erklärt

Sie können im ABAP Dictionary weitere Indizes zu einer Tabelle anlegen. Diese werden Sekundärindizes genannt. Dies ist notwendig, wenn auf die Tabelle häufig auf eine Art zugegriffen wird, bei der die Sortierung des Primärindex nicht für den Zugriff ausgenutzt werden kann. Verschiedene Indizes zur gleichen Tabelle werden über eine dreistellige Indexkennung unterschieden.

Beispiel

Für Flugbuchungen möchten Sie alle Verkaufsschalter von Fluggesellschaften suchen, die sich an einem bestimmten Flughafen befinden. Bei einem solchen Zugriff wird über die Kennung des Flughafens nach Verkaufsschaltern gesucht. Die Sortierung des Primärindex ist zur Beschleunigung dieses Zugriffs nutzlos. Da die Tabelle SCOUNTER sehr viele Einträge besitzt, muss zur Unterstützung des Zugriffs über die Flughafenkennung ein Sekundärindex über das Feld AIRPORT (Kennung des Flughafens) angelegt werden. Dies wird in der folgenden Abbildung erläutert:

Diese Grafik wird im zugehörigen Text erklärt

Ob ein Index für einen konkreten Zugriff auf eine Tabelle verwendet werden muss, wird vom Optimizer des Datenbanksystems entschieden (siehe Wie prüft man, ob ein Index verwendet wird?). Damit ist es möglich, dass ein Index nur für bestimmte Datenbanksysteme einen Performancegewinn bringt. Bei der Indexdefinition im ABAP Dictionary können Sie angeben, auf welchen Datenbanksystemen ein Index angelegt werden muss (siehe Sekundärindizes anlegen).

Alle im ABAP Dictionary vorhandenen Indizes zu einer Tabelle werden beim Anlegen der Tabelle auf der Datenbank mitangelegt, falls dies bei der Indexdefinition für dieses Datenbanksystem nicht ausgeschlossen wurde.

Falls die Indexfelder Schlüsselfunktion besitzen, d.h. jeden Satz der Tabelle bereits eindeutig identifizieren, kann ein Index als Unique-Index gekennzeichnet werden.

Siehe auch:

Was sollten Sie beim Anlegen von Sekundärindizes beachten?

 

 

 

Ende des Inhaltsbereichs