SAP HANA memory preload, and the beauty of HANA’s fundamental constants
Here I am again. I could not write for a month because I was very busy reading all the great Blogs available in SCN since my own last Blog 😏 … Sometimes I think I should stop blogging in SCN… Cannot compete with so many geniuses around.
Today I will keep it short and easy… Remember my Blog about Lazy HANA Startup and Table Preload Options… ? Summarizing, during SAP HANA database startup only essential data is loaded into memory directly, including row store tables and relevant query data. While Column store data is “lazily” loaded into memory on demand during startup, row store data is fully loaded into memory during startup, and stays there.
Furthermore, there is also a preload option for entire column store tables or individual columns, which allows you to mark important data containers for in-memory pre-load after startup. Very nice…
But, do you know how to configure this preload option?
It is not so easy to find the answer right away. But I surfed around in the Web, and I found the most important hint somewhere in a forum… You can find the exact answer in the SAP HANA SQL Reference Manual
under the ALTER TABLE chapter:
Here you can set a <preload_clause> ::= PRELOAD ALL | PRELOAD ( <column_name> ) | PRELOAD NONE
When the preload flag is set, the table or table column in question will be automatically loaded into memory after a HANA index server restart. You can query the HANA system tables TABLES or TABLE_COLUMNS and take a look at their preload related columns to see the preload status of the different tables and table columns…
That’s it for today…
I also know of a new beautiful configuration parameter to be added to the universe of HANA’s fundamental constants, but since I promised to keep it short, I will leave this for next time.
Founder and Managing Director