SAP HANA Admin – 数据压缩
SAP HANA Admin – 数据压缩
使用 SAP 列存储表,您最多可以执行 11 次数据压缩,从而成为一种节省成本的解决方案,可以在 HANA 数据库中存储更多数据。列存储表还提供更快的数据访问、搜索和复杂计算。
未压缩数据大小与压缩数据大小的比率称为压缩因子。压缩表大小是表在 SAP HANA 数据库主内存中所占的大小。
检查列表的压缩
使用 SAP HANA Studio,您可以了解列存储表的压缩状态以及压缩因子。要查找压缩详细信息,您需要先将表加载到内存中。
要将表加载到 SAP HANA 内存中,您应该有 –
-
系统权限– 表管理员
-
对象特权– 表或表所在模式的更新
您还可以使用 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>'
您可以在结果选项卡中检查输出。
要检查表的压缩率,您可以导航到表定义。转到运行时信息。
要查看压缩率,请转到列选项卡。您可以在 Main Size Compression 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')