Treffermenge klein halten 

Die Menge der selektierten Daten sollte möglichst klein gehalten werden, da diese zum einen den Speicher des Datenbanksystems und zum anderen das Netzwerk beim Transfer zum Applikationsserver belastet. Die Mittel in Open SQL um die Treffermenge kleinzuhalten sind die WHERE- und HAVING-Klausel:

Verwendung der WHERE-Klausel

Bei jedem Zugriff auf Datenbanktabellen sollte die WHERE-Klausel der entsprechenden OPEN SQL-Anweisungen verwendet werden. Selbst wenn ein ABAP-Programm mit SELECT-Anweisungen ohne WHERE-Klausel in einem Probebetrieb noch eine gute Performance hat, kann dies im Produktivbetrieb bei täglich wachsenden Datenmengen schnell anders werden. Nur in den seltenen Ausnahmefällen, in denen wirklich und jedesmal alle Daten einer Datenbanktabelle benötigt werden, braucht keine WHERE-Klausel verwendet werden.

Bei Verwendung der WHERE-Klausel nimmt das Datenbanksystem entsprechende Optimierungen vor und überträgt nur die benötigten Daten. Keinesfalls sollten nicht benötigte Daten nach ABAP übertragen und dort mit ABAP-Sprachmitteln aussortiert werden.

Verwendung der HAVING-Klausel

Wenn Zeilen von Datenbanktabellen mit der GROUP BY-Klausel in der Selektion zusammengefaßt werden, geschieht dies nach der Zeilenauswahl durch die WHERE-Klausel. Die HAVING-Klausel erlaubt es die Selektion nochmals durch Bedingungen auf den gruppierten Zeilen, insbesondere auf den Aggregatausdrücken, einzuschränken.

Auswirkung

Eine konsequente und richtige Verwendung der WHERE- bzw. HAVING Klausel führt dazu daß: