在SAP HANA中,可以使用多种方法和算法将数据存储在基于列的结构中-字典压缩,运行长度压缩等等。
在“字典压缩”中,单元格以数字的形式存储在表中,并且与字符相比,数字单元格始终对性能进行优化。
在“压缩运行长度”中,它将乘数与单元格值保存为数字格式,并且乘数在表中显示重复值。
使用压缩系数计算压缩率。压缩系数是指SAP HANA中未压缩的数据大小与压缩的数据大小之比。
在SAP HANA中,作为增量合并操作的一部分,执行压缩并完成计算。如果创建空列表,则最初不会应用压缩,因为数据库无法知道哪种方法最合适。当您开始将数据插入表中并且增量合并操作开始以固定间隔执行时,数据压缩将自动(重新)评估和优化。
索引server.ini配置文件的optimize_compression部分中的活动参数可确保自动压缩优化。此参数必须具有值yes。
要查找压缩详细信息,您需要首先将表加载到内存中。您也可以使用SQL命令加载表。打开SQL控制台并执行以下语句-
LOAD <table_name> UNLOAD <table_name>
请注意,在加载表时,它会将完整的数据以及增量存储加载到SAP HANA系统的主内存中。
要执行数据压缩,请运行以下SQL命令以检查数据压缩属性。
SELECT SCHEMA_NAME, TABLE_NAME, COLUMN_NAME, COMPRESSION_TYPE, LOADED from PUBLIC.M_CS_COLUMNS where SCHEMA_NAME = '<your_schema>' and TABLE_NAME = '<your_table>