在 DB2 for Linux, Unix, and Windows 中的行压缩的最佳实践
2009-02-08 16:38:31 来源:WEB开发网对于还没有启用压缩的表,运行 INSPECT 实用工具来评估的压缩率。
DB2 INSPECT ROWCOMPESTIMATE TABLE NAME table_name RESULTS KEEP file_name
然后运行命令:
db2inspf file_name output_file_name
这个命令转换检查结果的二进制输出文件到一个叫 output_file_name 的可读的文本文件。这个文件包含使用行压缩页面节约的百分比的评估结果。
如果你使用一个现有表,DB2 9.5 产品有一个方法使用管理函数来评估压缩节约。为了在一个没有压缩过的现有表上判断行压缩的好处,又可以使用这个 SQL 语句:
SELECT * FROM TABLE
(SYSPROC.ADMIN_GET_TAB_COMPRESS_INFO( ‘ schema ’ , ‘ table_name ’ , ‘ mode’ )) AS T
在这个 SQL 语句中,模式可以是 REPORT 或 ESTIMATE 。
使用 REPORT,你可以查看在创建压缩字典时的信息。如果表没有压缩字典,这个模式将不可用。这些信息也包括压缩节约的页面数目、什么时候创建压缩字典、用什么方法来创建压缩字典、平均行压缩率以及其他的信息。
使用 ESTIMATE 同样可以提供 REPORT 模式提供的信息,不过如果你继续进行行压缩,这张表中的数据也被抽样以了解有多少数据将被压缩。由于数据会被添加和更改,使用 RUNSTATS 和 ESTIMATE 模式是评估压缩影响的好办法。
可以对当前模式中的特定表的 ESTMATE 模式使用 SQL 管理函数 ADMIN_GET_TAB_COMPRESS_INFO 。 通过指定,你可以缩短在表上收集信息所需要的时间并限制使用的系统资源。如果你在运行 SQL 语句的时候没有包含‘表名’,那么将对这个模式下面的所有的表都进行压缩评估。如果你同时省略了模式和‘表名’,你将得到对整个数据库中的所有表的压缩评估。
更多精彩
赞助商链接