重建主键索引为非压缩索引
Posted littlepai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重建主键索引为非压缩索引相关的知识,希望对你有一定的参考价值。
重建主键索引为非压缩索引
删除约束的同时删除该约束对应的索引
数据库: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;
以上是关于重建主键索引为非压缩索引的主要内容,如果未能解决你的问题,请参考以下文章