
我们今天是要和大家一起讨论的是DB2 V9.7 分区索引空间占用和扫描性能,我们大家都知道分区表主要是应用在表比较大的背景下,所以我们使用大表才能测试出性能。下面我们创建测试表。
清单 7. 创建测试大表
我们首先在列 l_orderkey 上创建非DB2 V9.7 分区索引。
清单 8. 创建非分区索引
清单 8 表明,非分区索引 B 树高度为 3 层,具有 16831 个叶子页面。
清单 9. 测试非DB2 V9.7 分区索引性能
清单 9 表明使用索引 IDX_NOPART_L_ORDERKEY 统计表 T1 的总行数时,估计总成本为 24109.7,IO 次数估计为 17002,实际花费时间为 2.45 秒。
清单 10. 创建分区索引
清单 10 表明,分区索引 idx_part_l_orderkey 具有 12 个分区,B 树高度为 3 层,合计具有 13325 个叶子页面,叶子页面数比非分区索引下降 20% 。
清单 11. 测试DB2 V9.7 分区索引性能
清单 11 表明使用索引 IDX_PART_L_ORDERKEY 统计表 T1 的总行数时,估计总成本为 22059.4,比非分区索引下降 8.5%,IO 次数估计为 14178.4,比非分区索引下降 16%, 实际花费时间为 2.19 秒,比非分区索引下降 10% 。

上述测试表明,DB2 V9.7 分区索引在空间占用、扫描性能方面比非分区索引具有一定的性能优势。
【编辑推荐】
DB2怎么控制对存储过程的访问权限
DB2 文本搜索存储过程的权限更改:确保实例所有者同时具有 DBADM 和 DATAACCESS 权限。 从 V9.7 FP1 和更高版本的修订包开始,具有 SECADM 权限的用户可以在运行db2ts ENABLE DATABASE FOR TEXT命令时通过指定AUTOGRANT选项来授予实例所有者必要的 DBADM 和 DATAACCESS 特权。 在运行 DB2 文本搜索命令或存储过程之前,确保您具有适当权限级别和特权,并且对于所有 DB2 文本搜索存储过程已将 EXECUTE 特权授予 PUBLIC。
db2 分区表分区键还要建索引吗
select global_stats from user_indexes where index_name=index_name; 如果是yes,则是全局索引 如果是no,则是本地索引
db2 V9.7安装问题 在Linux上安装db2,使用命令的方式,在创建实例的时候,命令一直不能执行成功?
实例是必须要用root用户创建的在你数据库的安装目录instance下 ./db2icrt -a Server -s ESE -u fencename instancename
发表评论