Vier kleine Tipps zur Verbesserung der SQL-Performance in ABAP
Tipp 1:
1 |
SELECT INTO TABLE |
vs.
1 |
SELECT |
1 |
APPEND |
1 |
ENDSELECT |
Grundsätzlich ist die Abfrage mit
1 |
SELECT INTO TABLE itab |
performanter als die Abfrage über
1 |
SELECT |
1 |
APPEND |
1 |
ENDSELECT |
Wird jedoch später eine Verarbeitung der selektierten Treffer in einer Schleife (LOOP) durchgeführt, kann es besser sein, diese Verarbeitung gleich im
1 |
SELECT |
1 |
APPEND |
1 |
ENDSELECT |
durchzuführen.
Tipp 2:
1 |
SELECT * |
sollte nur im äußersten Notfall verwendet werden, da hierdurch Daten im Speicher abgelegt werden, die später nicht gebraucht werden.
Besser:
1 |
SELECT feld INTO … |
Tipp 3:
1 |
SELECT SINGLE Feld |
Hierdurch entsteht nur ein Zugriff auf die Datenbank und ist daher deutlich schneller als andere SELECTs.
Tipp 4:
Schlüsselfelder verwenden
Eigentlich selbsterklärend. Durch die Angabe möglichst aller Schlüsselfeder in der WHERE-Bedingung kann die Netzlast und die Speicherauslastung reduziert werden, da hierdurch über vorhandene Indizes zugegriffen werden kann.