DB2 V9.7 分区索引新特性
2009-07-23 16:13:52 来源:WEB开发网在使用分区索引特性之前,分区表上的所有索引都是非分区索引,在进行数据的转入( roll-in )和转出( roll-out) 时,需要对索引进行维护,包括在数据的转入时需要在索引中建立新的键值对新数据分区作索引(如图 4 所示),在数据的转出时需要将索引中相应的键值清除(如图 5 所示)。当索引很大的时候,这些维护工作需要非常的代价,将会严重影响数据库系统的性能。
图 4. 使用非分区索引时的数据转入
图片看不清楚?请点击这里查看原图(大图)。
图 5. 使用非分区索引时的数据转出
图片看不清楚?请点击这里查看原图(大图)。
在 DB2 V9.7 上有了分区索引特性,当分区表上只有分区索引时,这时的进行数据的转入和转出变得更加便捷。如图 6 所示,表 SalesTab 有两个数据分区和两个分区索引,表 New_table 是一个相同结构的普通表,并创建了相同定义的两个索引。
图 6. 使用分区索引时的数据转入
当使用数据转入方式把表 New_table 连接(ATTACH)到表 SalesTab 上时,表 New_table 的数据将成为表 SalesTab 的一个数据分区,表 New_table 上的两个索引分别成为表 SalesTab 上分区索引的新的索引分区,然后执行 Set Integrity 命令是所有的数据可用。整个过程不需要任何的数据移动,也不需要大量的索引维护,只需要很少的代价在很短的时间可以完成。类似的,当需要数据转出时,被转出的数据分区成为新表的数据对象,原有的分区索引的索引分区成为新表上的索引。
当然,在实际应用环境中可能遇到一些情况仍然需要对索引进行维护,例如
目标表上的分区索引在源表上没有定义;
源表上的索引与目标表上索引不一致;
目标表上既有分区索引又有非分区索引。
另外, DB2 V9.7 的优化器对分区索引也有相应的处理,能够根据情况选择更加优化的执行计划。限于篇幅以及复杂性,这个主题不在此介绍。
总结
本文可以使读者获得 DB2 V9.7 的分区索引特性的第一手体验,包括什么是分区索引,如何创建和维护分区索引,并且分析了分区索引带来的性能提高。分区索引这一特性,能够给数据仓库、商业智能数据库系统带来性能上的巨大的提高。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接