CDS Views Tipps und Tricks – Performance
CDS Views sind die Lösung von SAP für die Performance-Optimierung. SAP hat das System so weit ausgeklügelt, dass Entwickler mittlerweile leichtes Spiel haben. 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.
Das Wichtigste im Überblick
- Filterbedingungen in CDS Views werden nach berechneten Feldern ausgeführt – das kann Laufzeiten massiv beeinflussen.
- Daten sollten immer zuerst gefiltert und erst danach berechnet werden.
- Es sollten nur die tatsächlich benötigten Felder selektiert werden.
- Interface Views allgemein halten, Consumption Views use-case-spezifisch gestalten.
Sie benötigen unkomplizierte Unterstützung im Bereich ABAP Core Data Services? Wir haben den passenden ABAP CDS Entwickler für Sie.
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.
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
CDS Views sind ein mächtiges Werkzeug zur Performance-Optimierung – aber sie nehmen Entwicklern nicht das Denken ab. Auch auf der HANA-Datenbank gilt: Wer unsauber filtert oder unnötige Felder selektiert, verschenkt Performance. Entscheidend ist, Datenmengen frühzeitig zu reduzieren und Berechnungen erst danach auszuführen. Nur so entfaltet eine durchdachte CDS-Architektur ihr volles Potenzial.
Websession: CDS Views

Haben Sie weitere Fragen zur Performance der CDS Views? Vereinbaren Sie gerne eine unverbindliche Websession mit unseren Experten und wir besprechen Ihre Fragen.
Dieser Artikel erschien bereits im Juni 2023. Der Artikel wurde am 02.03.2026 erneut geprüft und mit leichten Anpassungen aktualisiert.
FAQ
Sind CDS Views automatisch performanter als klassische SQL-Abfragen?
Nein. CDS Views bieten Optimierungspotenzial, aber eine schlechte Modellierung oder ungünstige Filterlogik kann die Performance erheblich verschlechtern.
Warum ist die Filterreihenfolge bei CDS Views so wichtig?
Weil berechnete Felder zuerst verarbeitet werden. Wenn erst danach gefiltert wird, erfolgt die Berechnung für jede Tabellenzeile – unabhängig davon, ob sie später benötigt wird.
Sollte man immer bestehende CDS Views wiederverwenden?
Nicht pauschal. Wiederverwendung ist sinnvoll, solange nur benötigte Daten übertragen werden. Andernfalls kann eine spezifische Consumption View performanter sein.
Wie gestalte ich eine performante CDS-Architektur?
Interface Views sollten möglichst generisch bleiben, während Consumption Views klar auf einen konkreten Use Case zugeschnitten sein sollten.








