0
点赞
收藏
分享

微信扫一扫

oracle分区索引:局部 locall…

alonwang 2023-03-30 阅读 66


表可以按range,hash,list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。


局部索引local index

      

      

      

      

       局部索引只支持分区内的唯一性,无法支持表上的唯一性,因此如果要用局部索引去给表做唯一性约束,则约束中必须要包括分区键列
           (ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (SEQ_ID,PARTITION_ID) USING INDEX LOCAL;)。

      

      

      


全局索引global index

      

      

      

动,截断一个分区中的数据,都需要rebulid若干个分区甚

至是整个索引。

      

      

      

      


分区索引字典


DBA_PART_INDEXES 分区索引的概要统计信息,可以得知每个表上有哪些分区索引,分区索引的类新(local/global,)

Dba_ind_partitions每个分区索引的分区级统计信息

Dba_indexesminusdba_part_indexes,可以得到每个表上有哪些非分区索引


索引重建


Alter index idx_name rebuild partition index_partition_name [online nologging]

需要对每个分区索引做rebuild,重建的时候可以选择online(不会锁定表),或者nologging建立索引的时候不生成日志,加快速度。

Alter index rebuild idx_name [online nologging]

对非分区索引,只能整个index重建

举报

相关推荐

0 条评论