比较查询的执行
在本节中,将对相同表中压缩的和不压缩的数据运行一系列的查询。用于填充表的数据放在子目录 DB2compression 下名为 data.del 的一个定界 ASCII 文件中。所有脚本都在子目录 Section3 中。
使用数据库管理员 id 和密码登录到系统。将当前目录改为 Section3。
- 对整个 T1 表运行一个解释:
db2expln -d sample -o res1.txt -statement "select * from db2inst1.t1"
查看输出文件。也可以使用名为 T1_exp.sql 的示例脚本。
- 对整个 T2 表运行一个解释:
db2expln -d sample -o res2.txt -statement "select * from db2inst1.t2"
查看输出文件。也可以使用名为 T2_exp.sql 的示例脚本。
比较以上两个步骤中的输出文件,应该可以看到,压缩表 T2 上的查询的成本估计大约是完整表 T1 上的查询的 41%(脚本附带有示例输出)。
现在使用db2batch命令运行查询。 - 为了对表 T1 运行查询,可使用以下命令:
db2batch -d sample -f T1_run.sql -cli -r res3.txt
该命令在数据库 sample 中运行 T1_run.sql 文件中的命令,并将输出(包括详细的执行时间)放在 res3.txt 中。
也可以使用示例脚本 T1_run.bat。
- 为了对表 T2 运行查询,可使用以下命令:
db2batch -d sample -f T2_run.sql -cli -r res4.txt
该命令在数据库 sample 中运行 T2_run.sql 文件中的命令,并将输出(包括详细的执行时间)放在 res4.txt 中。
也可以使用示例脚本 T2_run.bat。
比较上述两个步骤中的输出文件,应该可以看到,两个查询的耗时非常相近(脚本附带有示例输出)。