暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle优化 漫谈排序

Oracle优化大师 2020-12-07
480

大家好

       好久不见,最近项目太慢了;也一直在想分享些什么。

最近系统频频爆出ERROR.原来是排序问题。


报表使用时间超过5年。快速而平稳。最近总ERROR.

既然是临时表空间问题。


那我们看看临时表空间的作用是什么。

      主要是用来查询和存放一些缓冲区数据。它涉及到操作主要有SELECT和排序。

机制和弊端:

        临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长,但是Oracle又采用的是贪心策略,即占有了的空间,他就不再释放,所以,一段时间之后,就需要释放 重建这个TEMP表空间。


主要涉及到SQL语句:

      索引create或rebuild;

      Order by 或 group by;

      Distinct 操作;

      Union 或 intersect 或 minus;

      Sort-merge joins;

      analyze等


综上所述,在Oracle的SQL处理中,为避免前提错误的发生。

   至少要做到:

          1、应该保证足够的临时表空间供程序使用。

          2、程序中尽量避免涉及大量浪费表空间的SQL

          3、充分程序测试等









文章转载自Oracle优化大师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论