Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf: HANA list placeholder #380

Merged
merged 12 commits into from
Dec 18, 2023
Merged

perf: HANA list placeholder #380

merged 12 commits into from
Dec 18, 2023

Conversation

BobdenOs
Copy link
Contributor

@BobdenOs BobdenOs commented Dec 11, 2023

Concept

HANA does a lot of preprocessing and optimization of queries. Which is cached and reused when the same SQL string is used. There is a limit to how many execution plans are cached by the HANA system. When reaching the cache limit queries will take much longer to execute. As new query executions will push out older caches. Resulting in the execution plan cache always being recalculated.

To prevent the execution plan cache from being exhausted it is important to produce the same SQL string as often as possible. There for this pull request fixes a core problem with the placeholder calculations. Additionally it checks any list definitions for val contents. When it is determined that the list only consists of val it is converted into a JSON string and the SQL will contain a JSON_TABLE call. This should produce the same SQL string Independent of the number of entries in the list. Reducing the size of the SQL string and number of cached execution plans.

BobdenOs added a commit that referenced this pull request Dec 13, 2023
@BobdenOs BobdenOs added the next release pr to be checked for next release label Dec 14, 2023
@BobdenOs BobdenOs merged commit 3eadfea into main Dec 18, 2023
4 checks passed
@BobdenOs BobdenOs deleted the hana-json-list branch December 18, 2023 10:48
@cap-bots cap-bots mentioned this pull request Dec 18, 2023
@cap-bots cap-bots mentioned this pull request Jul 18, 2024
patricebender pushed a commit that referenced this pull request Jul 25, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>db-service: 1.12.0</summary>

##
[1.12.0](db-service-v1.11.0...db-service-v1.12.0)
(2024-07-25)

### Fixed

* see changelog

### Changed

* generic-pool as real dep
([#750](#750))
([b50c907](b50c907))

### Performance Improvements

* HANA list placeholder
([#380](#380))
([3eadfea](3eadfea))
</details>

<details><summary>postgres: 1.9.2</summary>

##
[1.9.2](postgres-v1.9.1...postgres-v1.9.2)
(2024-07-25)


### Changed

* build script generates cds8 dependency in deployer app
([#758](#758))
([5c21a67](5c21a67))
</details>

<details><summary>hana: 1.1.1</summary>

##
[1.1.1](hana-v1.1.0...hana-v1.1.1)
(2024-07-25)


### Fixed

* assocs with default value
([#752](#752))
([a8660cf](a8660cf))
* make name for columns for ordinality unique
([#746](#746))
([d3f9b23](d3f9b23))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: Johannes Vogel <johannes.vogel@sap.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next release pr to be checked for next release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants