查看sql执行计划方式

      查看oracle的sql执行计划主要有以下几种方式

 

1         在线查看执行计划

1.1        explain plan for

1.1.1       规则
 

      sql窗口或sql*plus终端

       1、首先执行explain plan for [目标sql语句] ;取得计划解释

      2、然后通过DBMS_XPLAN.DISPLAY方法生成计划详情输出:

      select * from table(DBMS_XPLAN.DISPLAY);

      select plan_table_output from table(dbms_xplan.display('plan_table',null,'serial'));

 

 
1.1.2       举例
 

       explain plan for select count(1) from dual;

      select * from table(DBMS_XPLAN.DISPLAY);

      select plan_table_output from table(dbms_xplan.display('plan_table',null,'serial'));

      输出如下所示:

  

 

   

2         使用oracle第三方工具

2.1        plsql developer

2.1.1      规则
 

       在sql窗口,选定[目标sql语句],F5快捷键直接会跳到Explain Plan Window或直接File->New->Explain Plan Window,在窗口中输入[目标sql语句],就可以查看计划结果,

其中,Cost表示cpu的消耗,单位为n%Cardinality表示执行的行数,等价Rows

 
2.1.2       举例

        File->New->Explain Plan Window,输入

    select * from dual,F10输出如下所示:

   

 

 

2.2  toad

2.2.1       规则
 

     在toadEdits窗口,选定[目标sql语句], (Ctrl+E)快捷键或点击[Run explain plan for current     statement],即可在下方输出执行计划详情。

 

2.2.2       举例



 

 

3         SQL*PLUS

     sql*plus命令行终端(PL/SQL Dev工具的Command window中不支持set autotrance on的命令。还有使用工具方法查看计划看到的信息不全,有些时候可能需要sqlplus的支持)中,除了支持explain plan for的那种方式外,还支持以set autotrace on的方式进行较详细的计划及统计信息输出。

      注意:

       1、如果PLAN_TABLE表不存在:

      执行$ORACLE_HOME/rdbms/admin/utlxplan.sql创建plan_table表。

       2、如果PLUSTRACE角色不存在,

      执行$ORACLE_HOME/sqlplus/admin/plustrce.sql

3.1        规则

  1、执行set autotrace on; 生成AUTOTRACE 报告

  2、然后执行[目标sql语句],当完成后会把结果及执行计划、统计信息等自动显示出来。

   

      关于Autotrace几个常用选项附加说明:

       1SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式

       2SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告

      3SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息

      4SET AUTOTRACE ON ----------------- 包含执行计划和统计信息

      5SET AUTOTRACE TRACEONLY ------ set autotrace on,但是不显示查询

3.2        举例

      登陆sqlplus终端连接指定数据库后,依次执行以下:

       set autotrace on;

      select * from dual;

      

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值