估算压缩率

如果压缩表或者分段表的特定分段或所有分段,可估算可节约的空间百分比。该命令将显示可用于确定是否要压缩或重新压缩行数据的信息。

先决条件:您必须可以连接到 sysadmin 数据库(缺省情况下只有用户 gbasedbt 可连接),并且必须是 DBSA。

用于估算压缩率的命令总是同时估算新压缩率和当前压缩率。

有关压缩率和估算的一般信息,请参阅压缩率压缩估算

要估算压缩的优点,请执行以下操作:

运行带 estimate_compression 自变量的 admin()task() 函数。

例如,为表使用以下语法:

EXECUTE FUNCTION task(“table estimate_compression", 
“table_name”, “database_name”, “owner_name”);

对于分段,请使用以下语法:

EXECUTE FUNCTION task(“fragment estimate_compression”, 
“partnum_list”);
以下示例显示了这样的一个命令:指示 GBase 8s 估算所有者为“wong”的“store123”数据库内名为“cash_transaction”的表的压缩优点。
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
              

表和分段的压缩估算输出看起来几乎相同,不同之处在于表的输出始终显示表中的所有分段,而分段的输出仅显示指定分段的信息。