Select-Statements Key und Index

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Siehe Schlüsselbefehl Select.

Bei der Gestaltung von Select-Statements gibt es Reihe von Alternativen und hier ist auf eine sorgfältige Wahl eines optimalen Select-Statements zu achten.

Massive Beschleunigung gegenüber einem sequentiellen Zugriff lassen sich erreichen über Zugriffe über:

  • Key
  • Index

Der Key ist der schnellste Zugriff auf eine Tabelle. Wenn der Key voll qualifiziert vorhanden ist, reichen wenige Zugriffe der Datenbank auf die Tabelle, um den richtigen Datensatz zu finden.


Praktisch ebenso schnell wie der Zugriff über den Key, ist der Zugriff über einen Index. Mit den Feldern des Index wird von der Datenbank eine Tabelle aufgebaut, die die Felder des Index als Keyfelder haben, und somit einen schnellen Zugriff auf diese Indexfelder erlauben.

Ein Index hat den Nachteil, das ein gewisser Verwaltungsaufwand von der Datenbank zu leisten ist, wenn ein neuer Datensatz zu der betreffenden Tabelle hinzugefügt wird.

Es gab Empfehlungen zu einer Tabelle nicht mehr als 5 oder 6 Indizes hinzuzufügen, da sonst der Datenbankoptimizer überfordert wäre, und sich häufig dann für einen sequentiellen Zugriff entscheiden würde. Bei neueren Datenbankreleases gibt es diese Empfehlungen jedoch nicht mehr. Im Einzelfall ist hier der Datenbankadministrator des SAP-Systems zu fragen.

In den Index sollte der Mandant auch hinzufügt werden, um die Suche nach dem Mandaten einschränken zu können. In den Where-Klauseln muss der Mandant nicht explizit angegeben werden. Das macht der ABAP-Interpreter selbständig.