Oracledelete数据在释放表空间出现的问题

以下的文章主要是介绍Oracle delete数据后的释放表空间问题以Oracle 9i为实例。以下就是对相关内容的具体介绍,以下就是Oracle delete的相关内容的具体介绍,望你浏览完以下的内容会有所收获。

创新互联专注于荣成企业网站建设,成都响应式网站建设,商城网站开发。荣成网站建设公司,为荣成等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

数据表的庞大导致查询速度降低是必然的,所以常常将数据表的数据移走,但是使用delete后,数据是删除了,但是速度没有多大改善,忧闷了。使用备份表再drop掉原表。的确可以解决问题。但是较麻烦,今天请教了一个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数据后的释放表空间问题以Oracle 9i为实例开做以详细解析,望你能有所收获。

当前名称:Oracledelete数据在释放表空间出现的问题
文章出自:http://www.gawzjz.com/qtweb2/news40/20490.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联