我已将数据库中的两个表加载到内存中并进行了连接查询。 (此时使用的内存为40 GB)。之后我从内存中卸载了两个表,但是即使刷新了很多次之后,仍然使用的内存显示为10 GB。为了确保没有加载其他表,我卸载了所有表。但它仍显示相同的数量。
1.任何人都可以说出导致这种情况的原因吗?
2.我们可以看到哪些表被加载到HANA的内存中?
答案 0 :(得分:1)
HANA可以按列和表加载/卸载数据(分区表的表分区)。您可以使用系统视图M_CS_ALL_COLUMNS,列LOADED找到加载了哪个表(表分区)的列。
但您必须考虑,HANA还需要用于其他目的的内存:系统表/视图,统计信息,缓存等等。卸载不会释放这些内存区域。 SAP Note 1969700中还提供了一些SQL语句来分析表和其他使用者的内存消耗。