zoukankan      html  css  js  c++  java
  • 重建主键索引为非压缩索引

    重建主键索引为非压缩索引

    删除约束的同时删除该约束对应的索引

    数据库:Oracle 11.2.0.4
    因为项目需要,需要将一个主键索引由压缩索引改为非压缩索引
    这里的index_name代表了主键名称,也代表主键索引名称,两个同名

    坑1

    drop index index_name --这个不可以的原因是该分区表是组合分区表,分区和子分区
    

    坑2

    --这里不成功的原因在于 alter table table_name drop constraint index_name;
    --虽然创建逐渐的时候是using index自动创建的索引
    --但是这个删除还是只是删除的主键约束,没删掉索引,所以索引还是旧的(压缩索引)
    
    --Create NOCOMPRESS index
    alter table table_name drop constraint index_name;
    
    -- Create/Recreate primary, unique and foreign key constraints 
    alter table table_name
      add constraint index_name primary key (col1, col2, col2)
      using index 
      local
      NOCOMPRESS;--"注意这里,改为非压缩"
    alter index index_name nologging;
    
    

    成功

    --只要将删除语句改为alter table table_name drop primary key drop index;即可
    --这里显式指定要删除index
    
    --Create NOCOMPRESS index
    alter table table_name drop primary key drop index;--"注意这里"
    
    -- Create/Recreate primary, unique and foreign key constraints 
    alter table table_name
      add constraint index primary key (col1, col2, col3)
      using index 
      local
      NOCOMPRESS;--"注意这里,改为非压缩"
    alter index index_name nologging;
    
    
  • 相关阅读:
    C#中的委托和事件(续)
    C# 中的委托和事件
    玩转JS插件系列
    gusfield
    线性规划
    后缀自动机
    bitset
    二维树状数组
    线段树合并
    求凸包
  • 原文地址:https://www.cnblogs.com/paiandlu/p/7852785.html
Copyright © 2011-2022 走看看