Anfang des Inhaltsbereichs

Übertragene Datenmenge klein halten Dokument im Navigationsbaum lokalisieren

Die Übertragung der Daten zwischen Datenbanksystem und Applikationsserver erfolgt blockweise. Ein Block hat abhängig von der Netzwerk-Kommunikations-Hardware eine Größe von bis zu 32 Kilobyte. Außer den Daten werden zusätzlich auch Verwaltungsinformationen in einem Block transportiert.

Um die Netzlast klein zu halten, sollten immer so wenig wie möglich Blöcke transportiert werden. Open SQL bietet hierfür folgende Möglichkeiten:

Zeilenanzahl eingrenzen

Wenn mit der SELECT-Anweisung nur eine bestimmte Anzahl von Zeilen gelesen werden soll, kann dies mit dem Zusatz UP TO <n> ROWS der FROM-Klausel dem Datenbanksystem mitgeteilt werden. Dann werden nur <n> Zeilen an den Applikationsserver übergeben. Dies ist performanter, als die nicht gebrauchten Zeilen im ABAP-Programm zu verwerfen.

Wenn bei einer bestimmten WHERE-Klausel mit vielen doppelten Einträgen gerechnet werden muß, sollte der Einsatz des DISTINCT-Zusatzes der SELECT-Klausel erwogen werden.

Spaltenanzahl eingrenzen

Es sollten immer nur die Spalten einer Datenbanktabelle gelesen werden, deren Daten im Programm benötigt werden. Die Spalten sollten einzeln in der SELECT-Klausel aufgeführt werden. In diesem Zusammenhang ist zu beachten, daß der Zusatz INTO CORRESPONDING FIELDS der INTO-Klausel erst bei großen Datenmengen effizient wird, da ansonsten der Zeitaufwand für den Namensvergleich zu groß ist. Bei kleinen Datenmengen sollte eine Liste von Variablen in der INTO-Klausel verwendet werden.

Die Bezeichnung * für alle Spalten sollte nur verwendet werden, falls auch wirklich alle Spalten benötigt werden. Es ist aber zu beachten, daß bei der Angabe von Einzelspalten der Anpassungsaufwand von Programmen steigt, falls die Struktur der gelesenen Datenbanktabellen im Dictionary erweitert wird. Weiterhin müssen bei dynamischer Angabe der Datenbanktabelle immer alle Spalten gelesen werden.

Aggregatfunktionen verwenden

Wenn Daten nur benötigt werden, um Berechnungen mit ihnen anzustellen, ist es günstiger, die Aggregatfunktionen der SELECT-Klausel zu verwenden, als die Daten einzulesen und die Berechnungen im ABAP-Programm auszuführen.

Die Aggregatfunktionen erlauben die Bestimmung von Anzahlen, Summen, Durchschnitten, Minimal- und Maximalwerten. Nach der Auswertung eines Aggregatausdrucks im Datenbanksystem wird nur das Ergebnis übertragen.

Datenübertragung bei Änderungen von Tabellenzeilen

Wenn mit der Anweisung UPDATE Tabellenzeilen geändert werden, empfiehlt es sich nur die gewünschten Spalten mit SET-Anweisungen zu ändern, wobei die entsprechenden Zeilen in der WHERE-Klausel angegeben werden.

Beim Überschreiben von Zeilen mit Arbeitsbereichen werden oft zu viele Daten übertragen. Weiterhin muß dabei in der Regel vorher eine zusätzliche SELECT-Anweisung ausgeführt werden, um den Arbeitsbereich entsprechend zu füllen.

Ende des Inhaltsbereichs