SAP HANA管理员 - 数据压缩

使用SAP列存储表,您最多可以执行11次数据压缩,从而可以节省成本,在HANA数据库中存储更多数据.列存储表还提供更快的数据访问,搜索和复杂计算.

未压缩数据大小与压缩数据大小的比率称为压缩因子.压缩表大小是SAP HANA数据库主内存中表所占用的大小.

检查列表的压缩

使用SAP在HANA Studio中,您可以找到列存储表的压缩状态以及压缩因子.要查找压缩详细信息,您需要先将表加载到内存中.

要将表加载到SAP HANA内存中,您应该有 :

  • 系统权限 :  TABLE ADMIN

  • 对象权限 : 表的更新或表所在的模式

列表

您还可以使用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>' '


命令检查

您可以在结果选项卡中检查输出.

Result

要检查表的压缩率,可以导航到表定义.转到运行时信息.

要查看压缩率,请转到"列"选项卡.您可以在主尺寸压缩比[%]列中看到压缩比.

Ratio

在SAP HANA中手动压缩表

也可以通过执行以下SQL语句手动压缩SAP HANA系统中的表.

 
 UPDATE"table_name"WITH PARAMETERS('OPTIMIZE_COMPRESSION'='YES')

此结果决定是否需要压缩或者可以优化现有压缩.在这种情况下,HANA系统使用最合适的压缩算法.

压缩表


运行上述SQL命令时,压缩状态保持不变.您还可以使用以下SQL状态强制数据库重新评估压缩 :

 
 UPDATE"AA_HANA11"."SHOP_FACTS"with PARAMETERS('OPTIMIZE_COMPRESSION '='FORCE')


SQL状态