oracle 效率问题,Oracle【诡异】的效率问题

首先说一点,这个问题和redolog无关,redolog是oralce运行机制的一部分,必须使用,最多是测试环境归档日志没开。

表插入大批量数据再删除后,查询速度慢的问题,关键是使用delete语句删除记录后,表占用的空间没有释放,在oracle中的说法就是HWM保持不变,因此查询的时候即使只有几条记录,如果全表扫描的话仍会花费大量的时间,如果是临时表需要定期清理数据,使用truncate table更合适一些。

oracle官方对truncate操作的说明:

Use the TRUNCATE TABLE statement to remove all rows from a table. By default, Oracle Database also performs the following tasks:

Deallocates all space used by the removed rows except that specified

by the MINEXTENTS storage parameter

Sets the NEXT storage parameter to the size of the last extent removed

from the segment by the truncation process

生产环境如果无法使用truncate,可以使用下面的方法降低HWM

方法一:

alter table table_name move

完成后需要重新创建索引

方法二:

alter table table_name enable row movement;

alter table table_name shrink space;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值