3.测试数据和查询语句的产生步骤
主要步骤参照本系列第一篇文章《Oracle 11g R2企业版评测》。然后需要针对db2的特性作修改。
Db2对SQL语句的特殊要求主要有2点:
(1)取前若干行的语法。传统的db2语法不支持rownum伪列,需要修改为分析函数rownumber()over()或用fetch first n rows only子句,其中n是整数,9.7版本开始也支持Oracle的rownum写法。需要按前面描述的步骤启动兼容Oracle模式。
(2)日期间隔的表达式。不支持interval 'n' year/month等写法,要改为 n year/month。
4.数据压缩测试
对表进行压缩有2种方法,一种是在创建表的时候指定压缩属性,再加载数据,另一种是对已经包含数据的非压缩表进行修改压缩属性的操作,然后重新整理表。另外db2也提供了inspect功能,可以预测一个表压缩后的大小,供人作决定前参考。
































































































































从上面表的占用空间可见,对于TPC-H数据,因为dbgen生成的数据比较随机,又是符合第3范式的,冗余较少,压缩的效果不太明显。除了很小的表至少占用一个数据页没有压缩外,平均压缩为原来的1/3,和gzip的压缩率差不多,已经很不错了。