重庆oracle认证培训机构

新闻分类

产品分类

热门关键词

联系我们

企业名称:重庆赛烽达科技有限公司

联系人:程老师

手机:13372708242

邮箱:xqzhang@saifengda.com

网址:www.cqora.com

地址:重庆石桥铺高创锦业17-3

重庆oracle OCP课程解析SQL优化案例

您的当前位置: 首 页 >> 新闻资讯 >> 常见问题

重庆oracle OCP课程解析SQL优化案例

发布日期:2018-08-25 作者: 点击:

首先整体分析业务高峰期的AWR报告, 在AWR报告中获取需要的信息。

从业务高峰期的AWR报告中看出每秒读取214个数据块,也就是说每秒读取2M不到的数据量, 而对于主流的存储来说压力很小了。 再看TOP5 的等待事件。

从TOP5 的等待事件看出主要是 dblink 的等待事件导致的, 而要降低此等待事件必须从优化SQL着手。

找到造成此等待事件的SQL:

另外通过和业务人员交流, 这两个SQl 在重要业务流程中, 基本上每天都会用。

Sql_id:3n4dp3cxtf4yr 

sql_text:


执行计划:

很明显执行计划中笛卡尔集,导致SQL执行效率问题, 而导致此类问题的原因有两点。

1 业务人员写错SQL,

Where 条件中 or 没有加(), 跟业务人员交流,的确需要()。

2 由于关联远程表, 而远程表又缺少统计信息。CBO无法估算rows, 也可能导致笛卡尔集。

建议用hints, 强制两表hash 关联。

优化前:

优化后:

优化后效率提升明显。

SQL_ID:97t78urucbz9x

执行计划:

原因:

CBO无法估算远程的rows, 采用nested_loop 关联方式。

建议用hints, 强制两表hash 关联。

优化前:

优化后:

很明显SQL执行2小时, 减少到17S。

优化造成dblink 等待事件主要的两个SQL后, dblink 等待事件 大幅度减少, 在TOP5中没了。


本文网址:http://www.cqora.com/news/473.html

关键词:重庆oracle培训,重庆oracleocp培训,甲骨文oracle认证培训机构

最近浏览:

报名咨询

点击咨询报名

赛烽达QQ群

赛烽达技术群

程老师

13372708242

加微信咨询

张老师微信.jpg

xqzhang@saifengda.com