首页 > 编程知识 正文

oracle表空间满了怎么办,oracle删除数据表空间未释放

时间:2023-05-04 12:11:09 阅读:39050 作者:688

我们知道由于数据表庞大导致查询速度下降,所以只能相应地移动相关数据表中的数据。 但是,在使用Oracle delete之后,虽然删除了相关的数据,但是速度没有太大的改善,我很担心。

使用备份表来drop原始表。 确实可以解决问题。 但是因为很麻烦,所以今天请人教了甲骨文的没骨气的年糕,解决了问题。 Oracle delete操作不会释放表空间,因此必须释放表空间才能加快查询速度。

对于Oracle 9i,必须重新分析表才能释放表空间。

analyzetableitemlogcomputestatistics;

再进行选择的话,确实快了很多。

另一种方法是使用exp导出表,在drop中丢表,然后在imp中返回。

首先做简单的笔记

今天,我发现在领导同事的数据或从开发环境领导到测试环境时,查询速度变慢了。 从执行计划来看,竟然使用了全表扫描(表中的约300w条记录)。 为什么不用索引呢? 从索引的状态来看,一切都正常。 我头晕。

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

analyzetableysgl _ compile _ reqsubcomputestatisticsforallindexes;

正常了。

在一个论坛上发布:

使用分析表提高Oracle性能

大家一起讨论这个优化课题吧

我遇到的实际情况:

执行一个sql语句可能需要一个小时,也可能没有结果,但在分析与sql相关的表后,再次运行并在3分钟内结束。

真的有这样惊人的区别吗?

事情绝对没有,有时可能会很晚

了解CBO和RBO就知道区别了

annlyze表是否会提高CBO的性能? 不一定。

我遇到某个句子的分析后必须执行30分钟以上,删除分析后,只需要30秒。

在很多情况下,情况并不总是这样。 ***根据执行计划自己判断

以上相关内容是Oracle delete数据后表空间释放问题的介绍,希望您能得到。

【编辑推荐】

【责任编辑: cjdytel:(010 ) 68476606】

好耶0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。