Oracle delete数据后的释放表空间问题的解决 --转

我们都知道数据表的庞大导而致其查询速度的降低是水到渠成的,所以我们只有将相关的数据表的数据相应的移走,但是如果使用Oracle delete之后,相关的数据删除了,但是速度没有多大改善,忧闷了。

使用备份表再drop掉原表。的确可以解决问题。但是较麻烦,今天请教了一个Oracle高手,解决了问题。 由于Oracle delete操作是不释放表空间的,要想提高查询速度则必须释放表空间。

对Oracle 9i而言,释放表空间则需要重新分析表。

 
 
  1. analyze table itemLog compute statistics;

再进行select ,感觉的确快了很多。

另一种方法:使用exp将表导出,drop 掉表,再imp回去。

先做个简要笔记

今天,帮同事导数据,从开发环境导到测试环境中,发现一个查询变的很慢。查看执行计划,发现居然用了全表扫描(表中大约300w条记录),为啥不用索引呢,查看索引状态,一切正常。晕。

肯定是索引的问题,先分析一下表再说。

 
 
  1. analyze table ysgl_compile_reqsub compute statistics for all indexes;

正常了。

一个论坛上的帖子:

Analyze table对Oracle性能的提升

大家来讨论一下这个优化课题

我自己碰到的一个实际情况:

一个sql语句执行要1个小时,有时候还出不了结果,但分析sql涉及的表后,然后重新执行3分钟搞定!

真的有这样惊人的差异?

世事无绝对,有时候你可能发现会变慢

了解了CBO和RBO你就知道区别了

annlyze表会增加CBO执行的性能?不一定的。

我就碰到一个语句分析后要执行30多分钟,删除分析后,只要30秒。

很多情况下不一定的,最好是自己从执行计划判断

以上的相关内容就是对Oracle delete数据后的释放表空间问题的介绍,望你能有所收获。

[@more@]转自:http://database.51cto.com/art/201004/196721.htm

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/789833/viewspace-1039978/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/789833/viewspace-1039978/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值