Oracle-SQL程序优化4

Posted Leader.Z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle-SQL程序优化4相关的知识,希望对你有一定的参考价值。

从事一年DBA工作,经验尚浅,但是遇到问题总还是能够解决,今天就谈下我遇到的一个比较奇葩的问题。

运维人员告知我下午过后ETL一直卡住没有继续,那时我以为又是什么兼容性问题引起的,就重跑一下ETL,谁知又在第五步就卡住了,好几次都这样,单独执行ETL的那个节点也执行了很长时间都没有结束,也不报错。平时只要1秒就执行完的事,而且取消也花了好多时间。中午跑的时候没有问题啊,怎么会这样。以下是该图SQL的执行过程:

刚开始查表的高水位线,没有异常,因为表入数据前都要进行truncate的,排除。

查找表坏块,没有异常,排除。

锁也排除。

查看SQL执行计划,由于有远程表,执行计划不详细,但可以肯定SELECT语句执行没有问题,SELECT语句1秒就执行完了。

查看AWR分析报告

数据库重启了,也没有用

因为一直都没有执行完,看不出毛病,除了占用时间长之外。

后来就尝试新建表代替SAP_MO_SHORT这张表,谁知道结果还是一样,刚建的新表........

顿时很无语,以这条SQL建视图很快,但建表就很慢,而且插入SAP_MO_SHORT也是一样,超级久超级慢,真的更无语了..........

马上ETL作业又要跑了,无奈之下只能把JOB停了......

排除表问题后,就研究了一下SELECT语句,但执行很快啊,中午也没有问题,于是就把关联方式改了一下

居然执行不到1秒,数据量一样......有点怀疑人生了........

以上是关于Oracle-SQL程序优化4的主要内容,如果未能解决你的问题,请参考以下文章

最全的Oracle-SQL笔记

如果我设置优化-O3,C++ 整个程序优化是不是在 gcc 中完成?

小程序投票抽奖助手多开版本4.5.31 投票详情页面的奖品优化

《实战Java高并发程序设计》---第4章 锁的优化及注意事项

如何在应用程序上设置自动缩放(针对 iPhone 6 的 4.7 英寸屏幕进行了优化)以适应 iPhone 5 和 4 的屏幕?

JVM性能优化系列- 编写高效Java程序