WEB开发网
开发学院数据库DB2 DB2 V9.7 分区索引新特性 阅读

DB2 V9.7 分区索引新特性

 2009-07-23 16:13:52 来源:WEB开发网   
核心提示: 在结果中我们发现一个现象,索引 purpleidx 的索引分区 0 对应的对象 ID 和表空间 ID 为(4,DB2 V9.7 分区索引新特性(9),11),而索引 greeninx 的索引分区 0 对应的对象 ID 和表空间 ID 也是(4,分区索引带来的一个显著优势在于,在使用 ALT

在结果中我们发现一个现象,索引 purpleidx 的索引分区 0 对应的对象 ID 和表空间 ID 为(4,11),而索引 greeninx 的索引分区 0 对应的对象 ID 和表空间 ID 也是(4,11),其他的分区也有相同的重复问题,我们在上文也指出每一个对象有唯一的对象 ID 和表空间 ID,这是否矛盾呢?其实,对于每一个数据分区的所有索引分区,都是存放在同一个索引对象中,例如,对于数据分区 Part0,它对应两个索引分区分别是 purpleidx 的分区 0 和 greenidx 的分区 0,这两个索引分区都存放在对象 ID 和表空间 ID 为(4,11)的索引对象里。假如我们继续在这个 datapartT 表上创建更多的分区索引,那数据分区 Part0 相应的所有索引分区都将共享这一个索引对象(4,11)。

如何把非分区索引移植为分区索引

分区索引是 DB2 V9.7 中的新特性,但是在实际环境中,我们经常需要把数据库从一个之前的 DB2 版本移植到更新的 DB2 版本上来,对于移植到 DB2 V9.7 上的旧数据库来说,其中分区表上的索引都是非分区索引,这种情况下如何将非分区索引移植为分区索引而且要保证索引一直可用?

一个可行的方法是,创建一个分区索引,具有与原有的非分区索引相同的定义,在这个新索引建立的过程中,原有的非分区索引仍然可用,当新索引创建完成之后,删掉原有的非分区索引,最后用命令“ RENAME INDEX … TO … ”把新索引更改为与原有索引相同的名字。这是移植过程全部完成,整个过程中始终有索引可用。提示: DB2 V9.7 中允许在相同的一个或多个列上分别创建一个分区索引和一个非分区索引。

分区索引如何提高性能

之前提到,分区索引带来的一个显著优势在于,在使用 ALTER TABLE ATTACH PARTITION 和 DETAICH PARTITION 命令进行数据的转入( roll-in )和转出( roll-out) 时, 使用分区索引能够很大程度的提高性能。

上一页  4 5 6 7 8 9 10  下一页

Tags:DB 分区 索引

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接