WEB开发网
开发学院数据库Oracle 全面学习Oracle分区表及分区索引(6)-怎样管理 阅读

全面学习Oracle分区表及分区索引(6)-怎样管理

 2008-05-27 12:41:44 来源:WEB开发网   
核心提示:对于分区表的操作很多,其中某些操作仅针对某些分区有效,全面学习Oracle分区表及分区索引(6)-怎样管理,为了避免在演示过程中浪费过多口水标注哪些操作适用于哪些分区,咱们先在这儿列个表,需要注意这中间有一个平衡,你要平衡操作ddl的时间和重建索引哪个时间更少,哪个操作适用于哪种分区格式具体可以先参考下面这个表格:分区

对于分区表的操作很多,其中某些操作仅针对某些分区有效,为了避免在演示过程中浪费过多口水标注哪些操作适用于哪些分区,咱们先在这儿列个表,哪个操作适用于哪种分区格式具体可以先参考下面这个表格:

分区表RangeListHashRange-HashRange-List是否带来IO操作
增加分区(addpartition)支持支持支持支持支持除hash类型外,均不变带来大量IO
收缩分区(coalescepartitions)//支持分区:/子分区:支持/
删除分区(droppartition)支持支持/分区:支持子分区:/支持
交换分区(exchangepartition)支持支持支持支持支持
合并分区(mergepartition)支持支持/分区:支持子分区:/支持
修改默认属性(modifydefaultattributes)支持支持支持支持支持
修改分区当前属性(modifypartition)支持支持支持支持支持
List分区增加值(modifypartitionaddvalues)/支持//分区:/子分区:支持
List分区删除值(modifypartitiondropvalues)/支持//分区:/子分区:支持单纯删除操作无,但可能为了实现成功删除,之前的准备操作会带来一定量的IO
修改子分区模板(setsubpartitiontemplate)///支持支持
移动分区(movepartition)支持支持支持分区:支持子分区:/分区:支持子分区:/
重命名分区(renamepartition)支持支持支持支持支持
分隔分区(splitpartition)支持支持/分区:支持子分区:/支持
截断分区(truncatepartition)支持支持支持支持支持

注:上述IO列的评估建立在假设分区中均存在一定量数据,并忽略修改数据字典可能触发的IO,忽略造成的索引的重编译带来的IO。

分区索引的操作也有一张表黑黑,如下

分区索引索引类型RangeListHash组合分区是否带来IO操作

增加分区

(addpartition)

全局//支持/
本地////

删除分区

(droppartition)

全局支持///
本地////

修改默认属性

(modifydefaultattributes)

全局支持///
本地支持支持支持支持

修改分区当前属性

(modifypartition)

全局支持///
本地支持支持支持支持

重编译分区

(rebuildpartition)

全局支持///
本地支持支持支持支持

重命名分区

(renamepartition)

全局支持///
本地支持支持支持支持

分隔分区

(splitpartition)

全局支持///
本地////

另外local索引前头我们多次提到了,其维护会在oracle操作表分区的时候自动进行,需要注意的是global索引,当global索引所在表执行alter table涉及下列操作时,会导至该索引失效:

Ø ADD PARTITION | SUBPARTITION

Ø COALESCE PARTITION | SUBPARTITION

Ø DROP PARTITION | SUBPARTITION

Ø EXCHANGE PARTITION | SUBPARTITION

Ø MERGE PARTITION | SUBPARTITION

Ø MOVE PARTITION | SUBPARTITION

Ø SPLIT PARTITION | SUBPARTITION

Ø TRUNCATE PARTITION | SUBPARTITION

因此,建议用户在执行上述操作sql语句后附加update indexes子句,oracle即会自动维护全局索引,当然,需要注意这中间有一个平衡,你要平衡操作ddl的时间和重建索引哪个时间更少,以决定是否需要附加update indexes子句。

Tags:全面 学习 Oracle

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