HANA News Blog

Ongoing HEX performance issues with SPS07

Jens Gleichmann • 5. November 2024

Query Execution Engine Overview

SAP HANA Performance Guide for Developers
© 2023 SAP SE or an SAP affiliate company. All rights reserved. 
Source: SAP HANA Performance Guide for Developers

I personally love the current statement in the SAP HANA troubleshooting guide regarding HEX:


"In SAP HANA, the SQL query processor parses SQL statements and generates SQL query execution plans.

As the query processor and the query optimizer continue to be developed (in, for example, the new HANA

Execution Engine - HEX) the resultant execution plans for a given query may change from one HANA release to

another, or the plan may change because the data being queried has been reorganized; it is therefore possible

that the performance of an SQL query statement may degrade."


With SPS06 and even more so with SPS07, the HEX engine was used more frequently. This results on the one hand side in easy scenario to perfect results with lower memory and CPU consumption ending up in faster response times. But in scenarios with FAE (for all entries) together with FDA (fast data access), it can result in bad performance. We faced scenarios with 10x times more runtime and +30% CPU load. There are also other scenarios, please have a look at the table below. After some customers upgraded their first systems to SPS07 I recommended to wait for Rev. 73/74, but some started early with Rev. 71/72 and we had to troubleshoot many statements. If you have similar performance issues after the upgrade to SPS07 feel free to contact us!


Our current recommendation is to use min. Rev. 79 with some workarounds. The performance degradation is extreme in systems like EWM and BW with high analytical workload, but also a lot of S/4 systems are affected. Some issues can only be fixed with an update. This means no workaround!


There are also cases in SAP standard coding that can be solved using always the latest SAP's delivered statement hints (2700051) or by implementing SAP notes for adding an ABAP hint (e.g. 3359519). We are checking this performance aspects in our health check services. If you want to be on the safe side, contact us - it's better to be safe than sorry.


### Update 11 / 2024 ###

Starting with Rev. 76, the problems became less. But in the last weeks more and more customers with special scenarios upgraded to SPS07 and again a lot of new issues raised. The new recommendation is to use at least Rev. 79 with workarounds.


Here we collected some of the current notes which affecting the performance of the system in the context of HEX [status: 05-11-2024]:

With SAP HANA 2.00.070 - 2.00.071 an issue with the HEX engine results in unexpected overhead valuating TOP / LIMIT conditions (SAP Note 3369534)
Update HANA HEX Issues 11-2024

HEX Issue Overview

Some statistics on the current support S/4HANA releases:

S/4 Release details

DB Hint issues*

number of fixes for HEX performance issues in S/4*

statistic of number of fixes and their related SPS*

You can see that the most fixes were applied in the latest / upcoming SPS (e.g. S/4 HANA 2022 SPS04 - SAPK-10704INS4CORE which was released in 07/2024). This means a lot of customers are currently affected by the performance issues and can only apply the single notes!


*The statistics figures are without guarantee and subject to change   

SAP HANA News by XLC

SAP HANA NSE - a technical deepdive with Q&A
von Jens Gleichmann 6. Januar 2025
SAP NSE was introduced with HANA 2.0 SPS04 and based on a similar approach like data aging. Data aging based on a application level approach which has a side effect if you are using a lot of Z-coding. You have to use special BADI's to access the correct data. This means you have to adapt your coding if you are using it for Z-tables or using not SAP standard functions for accessing the data in your Z-coding. In this blog we will talk about the technical aspects in more detail.
The SAP Enterprise Cloud Services Private Cloud Customer Center (PC3) - a new digital delivery
von Jens Gleichmann 5. Januar 2025
The SAP Enterprise Cloud Services Private Cloud Customer Center (PC3) - a new digital delivery engagement model dedicated to manage service delivery for RISE with SAP S/4HANA Cloud, private edition customers.
Proactive maintenance for SAP RISE will start now in 2025
von Jens Gleichmann 5. Januar 2025
Proactive maintenance for SAP RISE will start now in 2025 with minor tasks like updating SPAM/SAINT and ST-PI / ST-A/PI. For those companies which are familiar with frequent maintenance windows, they are good to have such time frames to hold the systems up-to-date and secure. However, for larger companies where such frequent maintenance windows are not common because every minute of downtime is costly and may only really be necessary once, the situation is quite different.
Dynamic Aging for NSE - combined with Threshold and Interval option
von Jens Gleichmann 28. Dezember 2024
Dynamic Aging makes it possible to automatically manage at which point in time older partitions can be moved to the 'warm' data store. The data in a new OTHERS partition is 'hot' data, that is, stored in memory with the load-unit attribute implicitly set to COLUMN LOADABLE. As an extension of the Dynamic Range Partitioning feature Dynamic Aging makes it possible to automatically manage when older partitions can be moved to the 'warm' data store (Native Storage Extension) with the load-unit attribute for the partition set to PAGE LOADABLE. Warm data is then stored on disk and only loaded to memory when required. Dynamic Aging can be used with both THRESHOLD mode (defining a maximum row count number in partition OTHERS) and INTERVAL mode (defining a maximum time or other numeric interval between each new partition). For example, for a partitioned table which is managed by dynamic partitioning and containing date/time information, you can specify an age limit (for example six months) so that when data in an ol
automatic maintenance of the 'others' partition
von Jens Gleichmann 28. Dezember 2024
You can create partitions with a dynamic others partition by including the DYNAMIC keyword in the command when you create the partition, this can be used with either a THRESHOLD value to define a maximum row count number or an INTERVAL value which can be used to define a maximum time or other numeric 'distance' value. The partition can be either a single level or a second level RANGE partition and dynamic ranges can be used with both balanced and heterogeneous partitioning scenarios.
HANA Range Partitioning details
von Jens Gleichmann 23. Dezember 2024
For heterogeneous partitioning schemas Dynamic Range Partitioning is available to support the automatic maintenance of the 'others' partition. When you create an OTHERS partition there is a risk that over time it could overflow and require further maintenance. Using the dynamic range feature the others partition is monitored by a background job and will be automatically split into an additional range partition when it reaches a predefined size threshold. The background job also checks for empty partitions and if a range partition is found to be empty it is automatically merged to neighboring empty partitions (the others partition is never automatically deleted).
A success story regarding BW/4HANA and different data tiering and optimization methodes.
von Jens Gleichmann 20. Dezember 2024
A success story regarding BW/4HANA and different data tiering and optimization methodes. 1) Removed overhead in key attributes which reduced the PK size (often more than 50% of the overall table size) 2) optimized the partitioning design 3) used NSE for write optimized ADSOs 4) introduced NSE for several ADSOs 5) optimized usage of inverted individual indexes
ACDOCA table growth - how to handle it
von Jens Gleichmann 10. Dezember 2024
ACDOCA table growth - how to handle it in a S/4HANA system
HANA 2.0 SPS08 Roadmap
von Jens Gleichmann 6. Dezember 2024
SAP HANA 2.0 SPS08 Roadmap and features Q4 2024
Partitioning process
von Jens Gleichmann 26. November 2024
SAP HANA scaling and tuning with proper partitioning designs
more
Share by: