Hi again Ram,
as this kind of question does get asked a lot when people first learn about concat_attributes and system columns, I think it's better to answer properly to it.
It's of course understandable that you want to save memory where ever you can.
And columns, that you up until recently didn't know about, seem to be the perfect technical option for that.
It's a no-brainer, right? Just get rid of these hidden columns that nobody can make use of and free a lot of precious memory...
WRONG!
These additional columns are - in the vast majority of cases - absolutely necessary to make SAP HANA work. There are an integral part of core features like DELTA MERGE or data model consistency.
Think of other DBMS. Technically, you could argue that all the secondary indexes just take space and shall be deleted. Do you do that? Of course not, as they are required for proper operations of the system.
So, these structures are there for your benefit. With them in place you get what you paid for: a blazing fast SAP HANA database.
Without them, you don't get this set of features and performance.
That's why you want them.
But knowing about them and how they work might lead to better design decisions for your data model.
Multi-Column join just because of the client column (MANDT)?
You could change that to single column join (= no concat_attribute) + filter on MANDT for each table (or just rely on the automatic client filtering in the information models).
Decision to go for a surrogate ID or a natural primary key consisting of 10 columns? You now know more to consider in this decision.
- Lars