David Broßeit
7. Juni 2023

CDS Views Tipps und Tricks – Performance

CDS Views

CDS Views ist die Lösung von SAP hinsichtlich der Performance-Optimierung. SAP hat das System so weit ausgeklügelt, dass Entwickelnde eigentlich gar nichts mehr beachten müssen. Die CDS Views hätten eine so große Performance, dass Sie bei der Datenselektion keine Einschränkungen vornehmen müssten, da die darunter liegende HANA-Datenbank alles optimieren würde. Ob das wirklich stimmt, erläutere ich Ihnen anhand eines Beispiels.

Performance Beispiel: Businesspartner-Tabelle

Nehmen wir als Beispiel die Businesspartner-Tabelle BUT000. Zur Veranschaulichung ist sie mit einem Testdatensatz gefüllt (NAME_ORG1 = Testname 1, NAME_ORG2 = Testname 2, NAME_ORG3 = Testname 3). Anschließend wurde eine CDS View gebaut, die die Datensätze aus der BUT000 selektiert. Zusätzlich gibt es ein berechnetes Feld „Kompletter Name“, bei dem die drei Spalten verkettet und weitere String-Operationen ausgeführt werden.

CDS Views

Abb. 1: Businesspartner-Tabelle BUT000.

Nun unterscheiden wir zwei verschiedene Select-Abfragen:

SELECT #1

select *
from Z_I_BUT000_0
where vorname = 'Testname 1'
and zweitname = 'Testname 2'
and nachname = 'Testname 3'

SELECT #2

select *
from Z_I_BUT000_0
where kompletter_name = 'Testname 1 Testname 2 Testname 3'

Gleiches Ergebnis, andere Laufzeit

Die Ergebnisse der beiden Abfragen sind identisch, jedoch sind die Laufzeiten signifikant unterschiedlich. Die Grundregel bei CDS Views ist, dass alle Filter-Funktionen (bspw. WHERE-Bedingung) erst nach der Berechnung der Funktionen durchgeführt werden – und das für jede Tabellenzeile. Das heißt konkret, dass die Ausführungszeit sich mit der Anzahl der Datensätze multipliziert. Bei sehr großen Datenmengen kann dies einen immensen Unterschied ausmachen. Deswegen beachten Sie die Regel Nummer 1: Filtern Sie zuerst die Datenmenge und wenden Sie dann die benötigten Funktionen an!

Die Regel Nummer 2 steht direkt im Zusammenhang mit der ersten Regel: Selektieren Sie immer nur so viele Felder, wie Sie wirklich benötigen. Meist ist es der schnellste und aus Entwicklersicht der einfachste Ansatz, bestehende CDS Views zu nutzen. Das ist auch so lange nicht verkehrt, wie erforderliche Daten von der Datenbank an den Application Server übertragen werden. Versuchen Sie, die Interface Views so allgemein und die Consumption Views so speziell wie möglich zu halten. Die Unterschiede zwischen den Viewarten sind in diesem Blog erklärt: Wie gestalte ich meine CDS-Architektur.

Wenn Sie das beachten und jede Consumption View auch wirklich nur für einen bestimmten Use Case bezogen ist, so holen Sie die optimale Performance aus Ihrer CDS-Architektur.

Fazit

Wie sind Ihre Erfahrungen in der Performance mit CDS Views? Welche Best Practices nutzen Sie in Ihrem Unternehmen? Ich freue mich auf Ihre Rückmeldungen! Falls Sie Interesse an einem tiefgründigen Wissen zu ABAP CDS Views haben, können Sie gerne an unserer Entwickler-Schulung zum Thema teilnehmen:

In diesem halbtägigen Online-Learning erhalten ABAP-Entwicklerinnen und -Entwickler eine Einführung in die Grundlagen von ABAP Core Data Services (CDS). Sie bekommen alle grundlegenden Informationen rund um das neue S/4HANA-Programmiermodell vermittelt und werden befähigt, selbst CDS Views zu erstellen.

David Broßeit

David Broßeit

Mein Name ist David Broßeit und ich bin zertifizierter SAP Consultant. Zusammen mit Ihnen legen wir den Grundstein für die neuen Technologien SAP HANA und SAPUI5. Lassen Sie uns Ihr SAP endlich einfacher machen!

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Core Data Services (CDS) – der wohl meist gefallene Begriff, wenn es sich um das Thema SAP HANA dreht. Kommen wir zum konkreten Doing und der Frage: Wie baue ich […]

weiterlesen

Im letzten Blogartikel Wie gestalte ich meine CDS-View Architektur haben wir uns mit den Best Practices der CDS-Architektur zum Aufbau innerhalb des Systems beschäftigt. Der nächste Schritt um alle Funktionalitäten […]

weiterlesen

Kennen Sie das? Die Anlage von Materialstammdaten nimmt bei Ihnen sehr viel Zeit in Anspruch, die Sie gerne sinnvoller nutzen möchten. Dieser Artikel wird Ihnen dabei helfen Kosten zu sparen. […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice