In this blog post on the performance aspects of CDS views, I want to discuss how good performance can be ensured when building and accessing CDS views. Basically, it’s all about simple SQL performance rules that sometimes sink into oblivion when work...
In this blog post I describe how the HANA optimizer creates an execution plan from your SQL statement, how this plan wanders into the plan cache and what you should consider when analyzing the SQL statement from HANA studio. Since my main interest is...
In this series of blog posts, I want to discuss some performance aspects of ABAP CDS views. As a performance expert daily working on CDS view performance topics I hope to be able to give some insights from my experience.
I roughly plan to cover the ...
Did you know that it is possible to analyze the SELECT statements of an SQL trace with the Code Inspector check tool? You'll find that ‘not all too well documented’ function of transaction ST05 when displaying the SQL-Trace in the menu under Goto -...
In the previous blogs of this series (see below) the objects that were investigated with the Code Inspector were 'program-like', that is reports, function groups, or ABAP OO classes.Code Inspector performance checks series:Code Inspector's Performanc...
Hi Kalyan,
Yes, that's true, the parameter-aware optimization is done in the (re-)creation of a plan during the first statement execution, using the parameters of this first execution. In following executions the plan is reused and not again optimiz...
Hi Mustafa,
One possible reason for 'RECOMPILE TRIGGERED DUE TO PARAM VALUES' is that HANA assumes that the existing plan is no longer optimal (which can happen f.e. due to compression or merge of tables). The plan is then recompiled using parameter...
i Mayank Jaiswal,
Every condition in a WHERE-clause or parameter used to access a CDS view potentially can be pushed down to table level - if the underlying data model allows it and optimizer finds a way to do it. This is independent of the @Consump...
Hi Daniel,I now asked development whether they want to suppress the message if any of the involved tables is buffered.From performance point of view the situation is not straightforward if a buffered table is involved in SELECT + SELECT ... FOR ALL E...