该文章的作者给予了极大的帮助长老枯荣,为了表达我的谢意。

这适用于oracle db版本号oracle 10g或者更高的版本号.

之所以说这种看法是非常重要的,因为观点是有之一awrsqrpt报告没有在。就是 filter_predicates列。

SELECT plan_hash_value,

       TO_CHAR(RAWTOHEX(child_address)),
       TO_NUMBER(child_number),
       id,
       LPAD(' ', DEPTH) || operation operation,
       options,
       object_owner,
       object_name,
       optimizer,
       cost,
       access_predicates,
       filter_predicates
  FROM V$SQL_PLAN
 WHERE sql_id = 'bkcyk7bf380t6'
 ORDER BY 1, 3, 2, 4;
 
重点关注optimizer列,filter_predicates列。

 
若是该sql不在shared pool中时,改为运行例如以下的sql:
 
set linesize 500
set pagesize 500
col plan_hash_value format 9999999999
col id format 999999
col operation format a30
col options format a15
col object_owner format a15
col object_name format a20
col optimizer format a15
col cost format 9999999999
col access_predicates format a15
col filter_predicates format a15

 SELECT plan_hash_value,
         id,
         LPAD (' ', DEPTH) || operation operation,
         options,
         object_owner,
         object_name,
         optimizer,
         cost,
         access_predicates,
         filter_predicates
    FROM dba_hist_sql_plan
   WHERE sql_id = 'fahv8x6ngrb50'
ORDER BY plan_hash_value, id;
 
重点关注filter_predicates列。

--这一列能帮助推断不走索引的原因。

这一列的查询结果若是为null,那就是正常的。若是不为null,那就须要额外关注不为空的原因。例如以下图所看到的:

查询oracle sql运行计划,一个非常重要的观点--dba_hist_sql_plan的更多相关文章

  1. Oracle SQL操作计划基线总结(SQL Plan Baseline)

    一.基础概念 Oracle 11g開始,提供了一种新的固定运行计划的方法,即SQL plan baseline,中文名SQL运行计划基线(简称基线),能够觉得是OUTLINE(大纲)或者SQL PRO ...

  2. Oracle sql执行计划解析

    Oracle sql执行计划解析 https://blog.csdn.net/xybelieve1990/article/details/50562963 Oracle优化器 Oracle的优化器共有 ...

  3. 使用hint优化Oracle的运行计划 以及 SQL Tune Advisor的使用

    背景: 某表忽然出现查询很缓慢的情况.cost 100+ 秒以上:严重影响生产. 原SQL: explain plan for select * from ( select ID id,RET_NO ...

  4. [Oracle] 获取运行计划的各方法总结

    总的结论: 一.获取运行计划的6种方法(具体步骤已经在每一个样例的开头凝视部分说明了): 1. explain plan for获取:  2. set autotrace on .  3. stati ...

  5. 闪回drop恢复表后sql运行计划异常

    -----正常运行计划 set autotrace traceonly set linesize 1000 select /*+index(t idx_object_id)*/ * from t wh ...

  6. oracle分区表运行计划

    分区表有非常多优点,以大化小,一小化了,加上并行的使用,在loap中能往往能提高几十倍甚至几百倍的效果. 当然表设计得不好也会适得其反.效果比普通表跟糟糕. 为了更好的使用分区表,这里看一下分区表的运 ...

  7. 查看Oracle SQL执行计划的常用方式

    在查看SQL执行计划的时候有很多方式 我常用的方式有三种 SQL> explain plan for 2 select * from scott.emp where ename='KING'; ...

  8. [转] 多种方法查看Oracle SQL执行计划

    本文转自:http://falchion.iteye.com/blog/616234 一.在线查看执行计划表 如果PLAN_TABLE表不存在,执行$ORACLE_HOME/rdbms/admin/u ...

  9. oracle sql 执行计划分析

    转自http://itindex.net/detail/45962-oracle-sql-%E8%AE%A1%E5%88%92 一.首先创建表 SQL> show user USER is &q ...

随机推荐

  1. Linux下一个php+mysql+nginx构建编译(三)

    在此之前一直是一个关键构建webserver.但一个关键的建筑环境都比较旧的.假定使用一个相对较新的环境,尤其是正式的server.您必须手动编译自己建(基于以下的结构linux centos6.5 ...

  2. Hadoop读书笔记(二)HDFS的shell操作

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1全部的HDFS ...

  3. C#(SuperWebSocket)与websocket通信

    原文:C#(SuperWebSocket)与websocket通信 客户端代码 点击可以查看一些关于websocket的介绍 <!DOCTYPE html> <html> &l ...

  4. Xamarin.Android 入门实例(3)之呼叫电话号码

    1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  5. poj 2288 Islands and Bridges

    题意: 给你一个双向连通图,求 获得权值最大 的 哈密顿通路的 权值 和 这个权值对应的数目: 其中权值计算方法是  列如 ABCD  权值是a+b+c+d+ab+bc+cd 如果 A,B,C  和B ...

  6. 关于scope_identity()与 @@IDENTITY

    原文:关于scope_identity()与 @@IDENTITY 参考:https://msdn.microsoft.com/zh-cn/library/ms190315.aspx scope_id ...

  7. mysqlbackup 还原特定的表

    mysqlbackup使用TTS恢复指定表. ************************************************************* 4.恢复特定表 ******* ...

  8. 熟知CDN

    一.概念 1.什么是CDN? CDN的全拼是(Content Delivery Network).即内容分发网络.其基本思想是尽可能避开互联网上有可能影响传输数据速度和稳定性瓶颈的环节,使内容传输的更 ...

  9. 各种ESB产品比较(转)

    介绍了主流商业和开源ESB的发展趋势.可借鉴的地方和其缺点:         主要介绍:       Oracle Service Bus       WebSphere Message Broker ...

  10. MapReduce 规划 六系列 MultipleOutputs采用

    在前面的示例,输出文件名是默认: _logs part-r-00001 part-r-00003 part-r-00005 part-r-00007 part-r-00009 part-r-00011 ...