估计压缩操作的输出(SQL 管理 API)

在您运行估计压缩率的命令之后,数据库服务器显示信息,显示可取得的压缩率的估计,以及当前取得的压缩率(如果存在的话)。

表 1. estimate_compression 命令显示的信息
显示的信息
est 这是对使用新的压缩字典可取得的压缩率的估计。该估计是与不压缩对比而节省的空间的百分率。
curr 这是对当前取得的压缩率的估计。这个估计是与不压缩对比而节省的空间的百分率。对未压缩的分片或表,通常会出现 0.0%
change 通过切换到新的压缩字典您可取得的压缩率中,这是赢得的百分点(或可能损失的百分点,虽然应该很罕见)。这就是 estcurr 之间 的差异。

如果表或分片未压缩,则您可用该压缩参数创建压缩字典。如果压缩分片,则在可压缩之前,您必须执行解压缩或 uncompress_offline 操作。

partnum 这是分片的分区号。
coloff 这个值定义这是对行数据的估计,还是对 dbspace 中的简单大对象的估计,如下:
  • -1 表明是对行数据的估计
  • 正数值表明是对分区简单大对象的估计,由该值标识简单大对象的偏移量。该偏移量是表中的列偏移量,以字节为单位。
table 这是该分片所属的表的全名,格式为 database:owner.tablename

如果您正在估计对索引的压缩收益,则在这列中出现索引的全名。

示例

下列输出显示如果您重新压缩第一个分片,则可发生节省空间增加 4%。如果压缩未压缩的第二个分片,则可发生 75.7% 增长。 coloff 列中的值 -1 表明压缩的是行数据。

 est   curr  change  partnum    coloff  table
 ----- ----- ------ -------------  -----------------------------
 75.7% 75.3%   +0.4  0x00200003     -1  insurance:bwilson.auto
 75.7%  0.0%  +75.7  0x00300002     -1  insurance:pchang.home
              

下列输出显示对行数据(在第一行中)的压缩估计,和对在偏移量 4 和 60 的简单大对象(在第二和第三行中)的压缩估计。:

 est   curr  change  partnum    coloff  table
 ----- ----- ------ -------------  --------------------
 75.4% 71.5%  +3.9 0x00200002       -1 test:mah.table1
  5.0% 75.0%  +0.0 0x00200002        4 test:mah.table1
 75.0% 75.0%  +0.0 0x00200002       60 test:mah.table1

对表与分片的压缩估计的输出看上去一样,除了表的数据通常显示表中的所有分片,而分片的输出仅显示指定分片的信息。