在HANA数据库中,我对执行了许多INSERT语句的几个表执行了增量合并。
我看到合并命令已成功完成。
另一方面,当我查询M_CS_TABLES表时,我发现MEMORY_SIZE_IN_DELTA大于零,并且与MEMORY_SIZE_IN_MAIN相比有很高的百分比。事实上,我希望看到0或者更少的百分比。
您能帮我理解增量合并和增量问题中的内存大小吗?
我在HANA数据库的模式中创建了样本列表,并使用INSERT命令填充了数据。然后执行以下命令
MERGE DELTA OF "SALESORDERHEADER";若要查询列表的合并统计信息,
select * from M_CS_TABLES where schema_name = Current_schema;尽管表的大小很小,但我预计表的增量或行存储部分将接近于零。
此外,所有表的RAW_RECORD_COUNT_IN_DELTA为0,我理解这意味着增量中没有等待合并的记录。

对于基于列的统计信息,我执行了
select * from M_CS_ALL_COLUMNS
where schema_name = Current_schema and table_name = 'SALESORDERHEADER';输出为

发布于 2019-03-17 23:17:10
谢谢你提供的信息。
当您查看每个列(M_CS_ALL_COLUMNS)的增量存储的大小时,您会发现大多数值实际上接近8K (8196字节)。这不是偶然的,但是增量存储结构的内部最小分配大小。
因此,是的,如果没有要合并的项,列存储表的每一列仍然有一个-至少8K大小的增量存储内存结构“挂起它”。
您关于这个增量存储的相对大小的说明是有效的,但是重要的是要认识到这个表是微型。就数据库表而言,480 of几乎不算什么。
对于这样的小型表,列存储结构通常比其他数据结构的空间效率更低。当然,一旦加载了希望/需要列存储的数据卷,这种情况就会改变。然后压缩,并行化,CPU缓存友好性等,所有的额外内存使用的空增量存储。
总之,这里一切都很好,没什么可看的.向前看:-D
https://stackoverflow.com/questions/55177060
复制相似问题