David Broßeit
2. Juli 2020

CDS Views Tipps und Tricks – Performance

CDS Views – die Lösung (hinsichtlich der Performance) für alles. SAP hat sich so weit Gedanken gemacht, dass ich als Entwickler eigentlich gar nichts mehr beachten muss. Die CDS Views haben eine so große Performance, dass ich bei der Datenselektion keine Einschränkungen vornehmen muss – die darunter liegende HANA Datenbank wird schon alles soweit optimieren. Aber stimmt das wirklich? Ein kleines Beispiel reicht schon aus, um diese Aussage zu hinterfragen.

Performance Beispiel: Businesspartner-Tabelle

Um Licht ins Dunkel zu bringen, reicht schon ein kleines Szenario aus. 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 3 Spalten konkateniert und weitere String-Operationen ausgeführt werden.

Businesspartner-Tabelle BUT000

Businesspartner-Tabelle BUT000

Nun unterscheiden wir 2 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'

In diesem Webinar zeigt Ihnen SAP Consultant Michael Olschowski die Unterschiede zwischen AMDP und CDS.

Gleiches Ergebnis, andere Laufzeit

Die Ergebnisse der beiden Abfragen sind identisch. Der Unterschied liegt darin, dass die Laufzeiten sich signifikant unterscheiden.

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 goldene Regel Nummer 1 : Filtern Sie zuerst die Datenmenge und wenden Sie dann die benötigten Funktionen an!

Die goldene Regel Nummer 2 steht direkt im Zusammenhang mit der ersten Regel: Selektieren Sie immer nur so viele Felder, wie Sie wirklich benötigen. Meistens ist es der schnellste und aus Entwicklersicht der einfachste Ansatz, bestehende CDS Views zu nutzen. Das ist auch so lange nicht verkehrt, so lange nicht unnötige Daten von der Datenbank an den Application Server übertragen werden. Versuchen Sie, die Interface Views so allgemein wie möglich zu halten und die Consumption Views so speziell wie möglich (Unterschied 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.

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!

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 meine CDS Architektur auf und in welcher Hierarchie ordne 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 der HANA Datenbank und CDS-Views zu nutzen ist die Verwendung […]

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. Ich zeige Ihnen, wie Sie den manuellen Aufwand der Stammdatenpflege […]

weiterlesen

Schreiben Sie einen Kommentar

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





Angebot anfordern
Preisliste herunterladen
Expert Session
Support