SAP HANA 管理 - 数据压缩



使用 SAP 列存储表,您可以执行高达 11 倍的数据压缩,这为在 HANA 数据库中存储更多数据提供了一种节省成本的解决方案。列存储表还提供更快的数 据访问、搜索和复杂计算。

未压缩数据大小与压缩数据大小的比率称为压缩因子。压缩表大小是指表在 SAP HANA 数据库主内存中占用的空间。

检查列表的压缩

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

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

  • 系统权限 - TABLE ADMIN

  • 对象权限 - 对表或表所在的模式具有 UPDATE 权限

Column Table

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

Command Check

您可以在“结果”选项卡中查看输出。

Result

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

要查看压缩比率,请转到“列”选项卡。您可以在“主大小压缩比率 [%]”列中看到压缩比率。

Ratio

在 SAP HANA 中手动压缩表

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

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

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

Compress Table

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

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

SQL Status
广告