当前位置:  数据库>oracle

Oracle 如何根据动态性能视图来查看某条SQL语句的执行计划

    来源: 互联网  发布时间:2017-04-25

    本文导语:  1、授权某用户查看 sys.v$sql_plan 的权限 2、创建类plan_table的视图       SQL> create or replace view dynamic_plan_table  2  as  3  select rawtohex(address)|| '_' ||child_number statement_id,  4  sysdate timestamp,operation,options,object_node,  5  object...

1、授权某用户查看 sys.v$sql_plan权限

2、创建plan_table视图      

SQL> create or replace view dynamic_plan_table
  2  as
  3  select rawtohex(address)|| '_' ||child_number statement_id,
  4  sysdate timestamp,operation,options,object_node,
  5  object_owner,object_name,0 object_instance,
  6  optimizer,search_columns,id,parent_id,position,
  7  cost,cardinality,bytes,other_tag,partition_start,
  8  partition_stop,partition_id,other,distribution,
  9  cpu_cost,io_cost,temp_space,access_predicates,
 10  filter_predicates
 11  from v$sql_plan;









视图已创建。

3、查看执行计划

SQL> select plan_table_output
  2  from table(dbms_xplan.display
  3     ('dynamic_plan_table',
  4      (select rawtohex(address)||'_'||child_number x
  5         from v$sql where sql_text=
  6         'select * from user_tables'),
  7         'serial'))
  8  /






PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------

------------------------------------------------------------------------------
| Id  | Operation                    | Name     | Rows  | Bytes | Cost (%CPU)|
------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |          |       |       |   703 (100)|
|*  1 |  HASH JOIN                   |          |  2513 |  5700K|   703   (7)|
|   2 |   FIXED TABLE FULL           | X$KSPPCV |   100 |   196K|     0   (0)|
|   3 |   MERGE JOIN CARTESIAN       |          |  2513 |   755K|   703   (7)|
|*  4 |    HASH JOIN OUTER           |          |  2513 |   620K|   661   (1)|
|*  5 |     HASH JOIN RIGHT OUTER    |          |  2513 |   547K|   473   (2)|
|   6 |      TABLE ACCESS FULL       | USER$    |    84 |  1428 |     3   (0)|








PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
|*  7 |      HASH JOIN OUTER         |          |  2513 |   505K|   470   (2)|
|*  8 |       HASH JOIN              |          |  2513 |   485K|   415   (1)|
|   9 |        TABLE ACCESS FULL     | TS$      |     7 |   133 |     4   (0)|
|* 10 |        HASH JOIN OUTER       |          |  2513 |   439K|   410   (1)|
|  11 |         NESTED LOOPS         |          |  2485 |   325K|   352   (1)|
|* 12 |          TABLE ACCESS FULL   | OBJ$     |  3142 |   110K|   236   (2)|
|* 13 |          TABLE ACCESS CLUSTER| TAB$     |     1 |    98 |     1   (0)|
|* 14 |           index unique scan  | i_obj#   |     1 |       |     0   (0)|
|  15 |         TABLE ACCESS FULL    | SEG$     |  7092 |   311K|    58   (0)|
|  16 |       INDEX FAST FULL SCAN   | I_OBJ1   | 69116 |   539K|    54   (0)|
|  17 |     INDEX FAST FULL SCAN     | I_OBJ2   | 69116 |  2024K|   187   (0)|











PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
|  18 |    BUFFER SORT               |          |     1 |    55 |   516  (10)|
|* 19 |     FIXED TABLE FULL         | X$KSPPI  |     1 |    55 |     0   (0)|
------------------------------------------------------------------------------



Predicate Information (identified by operation id):
---------------------------------------------------

   1 - access("KSPPI"."INDX"="KSPPCV"."INDX")
   4 - access("T"."BOBJ#"="CO"."OBJ#")
   5 - access("CX"."OWNER#"="CU"."USER#")
   7 - access("T"."DATAOBJ#"="CX"."OBJ#")


PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
   8 - access("T"."TS#"="TS"."TS#")
  10 - access("T"."FILE#"="S"."FILE#" AND "T"."BLOCK#"="S"."BLOCK#" AND
              "T"."TS#"="S"."TS#")
  12 - filter(("O"."OWNER#"=USERENV('SCHEMAID') AND
              BITAND("O"."FLAGS",128)=0))
  13 - filter(BITAND("T"."PROPERTY",1)=0)
  14 - access("O"."OBJ#"="T"."OBJ#")
  19 - filter("KSPPI"."KSPPINM"='_dml_monitoring_enabled')








Note
-----

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
   - 'DYNAMIC_PLAN_TABLE' is old version

已选择45行。

更多Oracle相关信息见 专题页面


    
 
 

您可能感兴趣的文章:

  • oracle 视图权限 oracle 创建视图权限不足
  • 用Oracle动态性能视图采集查询调优数
  • 在Oracle中向视图中插入数据的方法
  • Hibernate,Oracle视图中字段小数点位数使用注意
  • Oracle查询表、视图、序列等信息查询
  • oracle中的视图详解
  • Oracle物化视图创建实例
  • Oracle的物化视图管理
  • Oracle中的概念:同义词、序列与视图
  • 浅谈Oracle中的物化视图
  • mysql触发器实现oracle物化视图示例代码
  • Oracle数据库视图与权限问题
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • oracle用什么SQL语句判断表存不存在
  • 请问怎么用jsp语句删除oracle中的一条记录?
  • Oracle中SQL语句连接字符串的符号使用介绍
  • Oracle用什么语句查询字段?
  • 怎么在java中向一个sql语句传参数,就像oracle的proc一样啊?
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • Oracle 9i轻松取得建表和索引的DDL语句
  • Oracle的SQL语句中如何处理‘&’符号
  • 关于Oracle中的sql语句的疑问,向大家请教。
  • Oracle Sql语句长度限制问题及解决
  • Oracle9i取得建表和索引的DDL语句
  • Oracle 中文字段进行排序的sql语句
  • oracle数据库添加或删除一列的sql语句
  • Oracle中查询本月星期5的所有日期列表的语句
  • Oracle中备份表的简单sql命令语句
  • oracle中误删除表后恢复语句(FLASHBACK)
  • Oracle判断指定列是否全部为数字的sql语句
  • jsp中在oracle中查询日期类型时sql语句该怎么写啊?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Oracle收购TimesTen 提高数据库软件性能
  • 关于提高Oracle数据库性能的四个错误认识
  • Oracle性能究极优化 上第1/2页
  • 用PHP连mysql比oracle数据库性能好
  • Oracle性能究极优化 下
  • 保持Oracle数据优良性能的技巧分享
  • 100分寻求最优化的连接oracle的java程序,请给我讲出理由,我是初学者,在做项目时不想让连接oracle影响我的程序性能
  • Oracle数据库应用程序性能优化探究
  • oracle 使用递归的性能提示测试对比
  • 善用Oracle表空间设计提升数据库性能
  • Oracle性能究极优化
  • Oracle SQL性能优化系列学习一
  • Oracle SQL性能优化系列学习三
  • Linux平台下如何监控Oracle数据库的性能
  • Oracle SQL性能优化系列学习二
  • 性能陷阱:Oracle表连接中范围比较
  • 基于Oracle的高性能动态SQL程序开发
  • 浅谈Oracle性能优化可能出现的问题
  • 如何保持Oracle数据库的优良性能
  • Oracle数据库性能优化技术开发者网络Oracle
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,