zoukankan      html  css  js  c++  java
  • Oracle 更新partition key注意事项

    更新partition key时,会导致该记录超出当前所在分区的范围,需要将其转移到其他对应分区上,因此需要开启ROW MOVEMENT;

    原因:

    这一操作产生影响的特殊之处在于这是个DML操作,是和online transaction密切相关的。这样对于一个update,实际上分为3步:

    1、删除原有分区的数据

    2、将原有数据转移到新分区上

    3、更新数据

    即一个update操作被拆分成:delete、insert、update三个操作。增加了性能负担。其中delete的查询条件与原update的查询条件相同,新的update的查询条件是基于insert生成的新的ROWID;相应的Redo Log、Undo log会增加。如果update语句还涉及到Local Index的字段的话,新、旧2个分区上的local index都要被更新。

    还有一点,row movement会和域索引(Domain Index)产生冲突,如果表上定义了域索引,开启Row movement会失败,反之亦然。

    All for u
  • 相关阅读:
    Lua弱引用table
    Javascript定义类(class)的三种方法
    双检锁技术
    【翻译】ASP.NET缓存管理
    socket python
    mvc项目
    MSBuild
    阅读glibc源码
    MVC3使用Unity实现依赖注入接口与于实现类自动注册
    C# 指针之美
  • 原文地址:https://www.cnblogs.com/ayumie/p/14137154.html
Copyright © 2011-2022 走看看