表可以按range、hash、list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。
局部索引local index
1.??????? 局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区数,一句话,局部索引的分区机制和表的分区机制一样。
2.??????? 如果局部索引的索引列以分区键开头,则称为前缀局部索引。
3.??????? 如果局部索引的列不是以分区键开头,或者不包含分区键列,则称为非前缀索引。
4.??????? 局部索引只能依附于分区表上。
5.??????? 前缀和非前缀索引都可以支持索引分区消除,前提是查询的条件中包含索引分区键。
6.??????? 局部索引只支持分区内的唯一性,无法支持表上的唯一性,因此如果要用局部索引去给表做唯一性约束,则约束中必须要包括分区键列。
7.??????? 局部分区索引是对单个分区的,每个分区索引只指向一个表分区;全局索引则不然,一个分区索引能指向n个表分区,同时,一个表分区,也可能指向n个索引分区,对分区表中的某个分区做truncate或者move