加入收藏 | 设为首页 | 会员中心 | 我要投稿 伊春站长网 (https://www.0458zz.com/)- 管理运维、图像技术、数据标注、智能营销、数据计算!
当前位置: 首页 > 站长资讯 > 动态 > 正文

解决棘手SQL性能问题

发布时间:2021-02-26 15:36:29 所属栏目:动态 来源:互联网
导读:LT为一个SQL语句提供了下面 7种主要方法来生成诊断详细信息XTRACT,XECUTE,XTRXEC,XTRSBY,XPLAIN,XPREXT和XPREXC。XTRACT,XECUTE,XTRXEC,XTRSBY,XPREXT和XPREXC处理绑定变量和会做 bind peeking(绑定变量窥视),但是XPLAIN不会。这是因为XPLAIN是基

LT为一个SQL语句提供了下面 7种主要方法来生成诊断详细信息XTRACT,XECUTE,XTRXEC,XTRSBY,XPLAIN,XPREXT和XPREXC。XTRACT,XECUTE,XTRXEC,XTRSBY,XPREXT和XPREXC处理绑定变量和会做 bind peeking(绑定变量窥视),但是XPLAIN不会。这是因为XPLAIN是基于EXPLAIN PLAN FOR 命令执行的,该命令不做 bind peeking。

因此,如果可能请避免使用XPLAIN,除了XPLAIN的bind peeking限制外,所有这 7种主要方法都可以提供足够的诊断详细信息,对性能较差或产生错误结果集的SQL进行初步评估。如果该SQL仍位于内存中或者Automatic Workload Repository (AWR) 中,请使用XTRACT或XTRXEC,其他情况请使用XECUTE。对于Data Guard或备用只读数据库,请使用XTRSBY。仅当其他方法都不可行时,再考虑使用XPLAIN。XPREXT和XPREXC是类似于XTRACT和XECUTE,但为了提高SQLT的性能它们禁了一些SQLT的特性。

几种主要方法的关系如下:

其中XTRXEC包括了XTRACT和XECUTE方法,实际上它会同时执行这两个方法生成对应的文件。使用这些方法后,会生成文件,自动打包。

 

以看到,包括CBO的环境,执行计划以及历史执行信息,表,索引等对象统计信息都在这个main文件中,大部分时候可以通过此文件,了解SQL效率不佳的原因,比如执行计划变坏的时间段内正好收集了统计信息,那么可以快速定位可能是统计信息收集不正确导致的。

一般情况下,都是先看执行计划,通过Plans目录找到Execution Plans,可以点那些+,会显示对应的统计信息等内容:


(编辑:伊春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读