ABAP - BOPF Performance
Wie sieht es eigentlich mit der Performance bei Zugriffen auf BOPF aus? Dieser Frage wollen wir heute nachgehen.
Inhaltsverzeichnis
Du hast dich sicherlich schon gefragt, was dieses Framework an Performance am Ende zeigt, wenn wir auf die einzelnen Daten zugreifst? Wir wollen heute über dieses Thema sprechen und dir einige Vorschläge mit auf den Weg geben.
Datenmenge
Im Grundsatz ist das Framework beim Zugriff auf einzelne Komponenten sehr schnell, wenn man die Ladezeit des Framework und der Einstellungen abzieht. Bei direkten Zugriffen auf wenige Daten oder dem Lesen von Unterpositionen musst du dir keine Sorgen machen, da diese Zugriffe ausreichend schnell genug sind.
Sobald du das BOPF Modell aber zum Beispiel in einen Gateway-Service verwendest und die erste "Count-Abfrage" auf die Gesamtdaten geht, dann wirst du um einen SELECT nicht herum kommen. Bei einer großen Datenmenge kann es sich bereits lohnen einen manuellen Zugriff zu implementieren.
Performance Fresser
Dabei sind normale Zugriffe auf die Daten schnell, doch es gibt einige Mechanismen im BOPF, die die Leistung ausbremsen. Diese sind z.B.:
- Berechtigungsprüfungen auf die ermittelten Daten
- Ermittlung von Feldern
Berechtigungsprüfung
Die Daten sind durch eine Berechtigungsprüfung geschützt und jeder Satz muss entsprechend geprüft werden? Dies kann sehr stark auf die Perfomance gehen, vor allem, wenn man alle oder sehr viele Daten lesen muss. Hier empfiehlt es sich mit einem Puffer zu arbeiten, wenn man bereits für eine Kombination eine Prüfung durchgeführt hat. Die Prüfung benötigt mehr Performance als ein Zugriff auf eine sortierte Tabelle.
Ermittlung
Wenn Daten zusätzlich abgeleitet werden, werden diese meistens aus anderen Tabellen gelesen, was wieder zusätzliche Zugriff bedeutet. Eine Ermittlung kann man für nur spezielle Zugriff nicht deaktivieren. Hier ist unsere Empfehlung an dich auf einen manuellen Zugriff direkt auf auf die Daten-Tabelle zu setzen.
Fazit
Wenn es um eine starke Performance auf viele Daten geht und noch andere Mechanismen beim Zugriff auf die BOPF Daten greifen, dann lohnt es sich meist auf einen individuellen Zugriff zu gehen, um so die Laufzeit zu optimieren und Probleme zu vermeiden. Vor allem wenn du BOPF in einem Gateway nutzt, lohnt sich eine Optimierung.