如果压缩表或者分段表的特定分段或所有分段,可估算可节约的空间百分比。该命令将显示可用于确定是否要压缩或重新压缩行数据的信息。
先决条件:您必须可以连接到 sysadmin 数据库(缺省情况下只有用户 gbasedbt 可连接),并且必须是 DBSA。
例如,为表使用以下语法:
EXECUTE FUNCTION task(“table estimate_compression", “table_name”, “database_name”, “owner_name”);
对于分段,请使用以下语法:
EXECUTE FUNCTION task(“fragment estimate_compression”, “partnum_list”);
EXECUTE FUNCTION task("table estimate_compression", "cash_transaction", "store123", "wong");
估算压缩操作显示可实现的估算压缩率、当前压缩率、对获得或失去的百分比的估算、每个分段的分区号,以及表的全名,包括数据库、所有者和表名。如果表未压缩,那么当前比率为 0.0%。
在以下示例中,已经压缩了第一个分段。未压缩第二个分段。如果重新压缩第一个分段,可以节约的空间会增加 0.4%。如果压缩第二个分段,可以增加 75.7%。
est curr change partnum coloff table ----- ----- ------ ------------- ----------------------------------- 75.7% 75.3% +0.4 0x00200003 -1 store3:wg.cash_transaction 75.7% 0.0% +75.7 0x00300002 -1 store3:wg.cash_transaction
est curr change partnum table ----- ----- ------ ------------- ----------------------------------- 75.7% 75.3% +0.4 0x00200003 store123:wong.cash_transaction 75.7% 0.0% +75.7 0x00300002 store123:wong.cash_transaction
表和分段的压缩估算输出看起来几乎相同,不同之处在于表的输出始终显示表中的所有分段,而分段的输出仅显示指定分段的信息。