IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页数据库Oracle → Oracle delete数据后的释放表空间问题

Oracle delete数据后的释放表空间问题

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  数据表的庞大导致查询速度降低是必然的,所以常常将数据表的数据移走,但是使用delete后,数据是删除了,但是速度没有多大改善,忧闷了。使用备份表再drop掉原表。的确可以解决问题。但是较麻烦,今天请教了一个oracle高手,解决了问题。 由于delete操作是不释放表空间的,要想提高查询速度则必须释放表空间。

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

  analyze table itemLog compute statistics;

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

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

  先做个简要笔记

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

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

  analyze table ysgl_compile_reqsub compute statistics for all indexes;

  正常了。

  ------------------------------------------------------

  一个论坛上的帖子:

  Analyze table对Oracle性能的提升

  url:https://www.itpub.net/thread-295293-1-1.html

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

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

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

  真的有这样惊人的差异?

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

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

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

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

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

关键词标签:Oracle,delete

相关阅读

文章评论
发表评论

热门文章 Oracle中使用alter table来增加,删除,修改列Oracle中使用alter table来增加,删除,修改列oracle中使用SQL语句修改字段类型-oracle修oracle中使用SQL语句修改字段类型-oracle修使用低权限Oracle数据库账户得到管理员权限使用低权限Oracle数据库账户得到管理员权限Oracle对user的访问控制Oracle对user的访问控制

相关下载

人气排行 ORACLE SQL 判断字符串是否为数字的语句Oracle中使用alter table来增加,删除,修改列的语法ORACLE和SQL语法区别归纳(1)oracle grant 授权语句如何加速Oracle大批量数据处理Oracle删除表的几种方法ORACLE修改IP地址后如何能够使用Oracle 10g创建表空间和用户并指定权限