skip_unusable_indexes= true

1.alter session set skip_unusable_indexes = true;

修改后,插入数据并不会维护索引,而执行查询的时候cbo也不会使用该索引,

如果skip_unusable_indexes = false;

或者true的时候使用hint来走索引或者插入批量数据的时候会报ora-01502,索引无效。


这样,在不同的业务场景就要考虑不同的情况了,如果是向目前正在运行的生产环境灌数据,为了不影响业余,不建议采用禁索引的方式来处理。如果是其他情况也可以直接drop掉索引了重建,不过不drop,而采用rebuild 或者rebiuld online也是可以的。

2.imp/exp导入导出时使用

同理,在imp时设置了参数skip_unusable_indexes=y,且目标表的索引状态是unusable,则导入数据的时候,新插入的数据并不会维护索引

(注意,unusable状态的索引,在truncate表后,状态会变为valid

先 truncate

alter index ..unusable

imp ..skip_unusable_indexes=y

alter index ..rebuild

另外,如果索引是唯一索引或者有pk,那么唯一性检查还是会做的,违反唯一性的数据不会导入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值