首页 > 软件开发 > ORACLE >

oracle如何查看执行计划

来源:互联网 2023-03-17 00:00:35 270

OracleDatabase,又名OracleRDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统。学习OracleDatabase不是一朝一夕就能熟练掌握的,对想学OracleDatabase的童鞋,耐心和细心是最重要的,本文就来讲讲在OracleDatabase里如何查看执行计划。接着往下看:W1c办公区 - 实用经验教程分享!

方法/步骤

  • 1

    打开OracleDatabase软件后进入软件数据库主界面,在PL/SQL下按F5查看执行计划,在这里面可以看到基数、优化器、耗费等基本信息 如图W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 2

    在SQL*PLUS,PL/SQL的命令窗口下执行下面步骤 :W1c办公区 - 实用经验教程分享!

    W1c办公区 - 实用经验教程分享!

    SQL>EXPLAIN PLAN FORW1c办公区 - 实用经验教程分享!

    SELECT * FROM SCOTT.EMP; --要解析的SQL脚本W1c办公区 - 实用经验教程分享!

    SQL>SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);W1c办公区 - 实用经验教程分享!

    如图W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 3

    完成以上步骤后还需要在SQL*PLUS下输入代码执行命令:W1c办公区 - 实用经验教程分享!

    SQL>SET TIMING ON             --控制显示执行时间统计数据SQL>SET AUTOTRACE ON EXPLAIN       --这样设置包含执行计划、脚本数据输出,没有统计信息W1c办公区 - 实用经验教程分享!

    如图W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 4

    接着我们输入第二段代码:W1c办公区 - 实用经验教程分享!

    SQL>执行需要查看执行计划的SQL语句SQL>SET AUTOTRACE OFF           --不生成AUTOTRACE报告,这是缺省模式W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 5

    然后是第三段W1c办公区 - 实用经验教程分享!

    SQL> SET AUTOTRACE ON           --这样设置包含执行计划、统计信息、以及脚本数据输出SQL>执行需要查看执行计划的SQL语句SQL>SET AUTOTRACE OFFW1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 6

    第四段代码:W1c办公区 - 实用经验教程分享!

    W1c办公区 - 实用经验教程分享!

    SQL> SET AUTOTRACE TRACEONLY      --这样设置会有执行计划、统计信息,不会有脚本数据输出W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 7

    最后输入第5段代码:W1c办公区 - 实用经验教程分享!

    SQL>执行需要查看执行计划的SQL语句SQL>SET AUTOTRACE TRACEONLY STAT --这样设置只包含有统计信息SQL>执行需要查看执行计划的SQL语句W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 8

    需要注意的是:在OracleDatabase中,PL/SQL Developer 工具并不完全支持所有的SQL*Plus命令,如果执行“SET AUTOTRACE ON”命令就会报错,出现接下来的情况:W1c办公区 - 实用经验教程分享!

    SQL> SET AUTOTRACE ON;W1c办公区 - 实用经验教程分享!

    Cannot SET AUTOTRACW1c办公区 - 实用经验教程分享!

    W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 9

    PL/SQL DEVELOPER工具里面执行上面脚本过后,我们是看不到相关信息的,这时我们可以通过输入脚本代码查询执行过的信息,代码如下:W1c办公区 - 实用经验教程分享!

    SELECT T.VALUE || '/' || LOWER(RTRIM(I.INSTANCE, CHR(0))) || '_ora_' ||P.SPID || '.trc' TRACE_FILE_NAMEFROM( SELECT P.SPIDFROM V$MYSTAT M, V$SESSION S, V$PROCESS PWHERE M.STATISTIC# =1AND S.SID = M.SIDAND P.ADDR = S.PADDR) P,( SELECT T.INSTANCEFROM V$THREAD T, V$PARAMETER VWHERE V.NAME ='thread'AND (V.VALUE = 0 OR T.THREAD# = TO_NUMBER(V.VALUE))) I,(SELECT VALUE FROM V$PARAMETER WHERE NAME='user_dump_dest') TW1c办公区 - 实用经验教程分享!

    如图所示:W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 10

    我们通过OracleDatabase,查看执行计划后,通常要以文本的形式保存下来,可以输入命令:tkprof D:\ORACLE\PRODUCT\10.2.0\DB_1\RDBMS\TRACE/wgods_ora_3940.trc h:\out.txtoutputfile explain=etl/etl 执行 如图W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 11

    执行上面命令后,就可以查看生成的文本文件了如图W1c办公区 - 实用经验教程分享!

    oracle如何查看执行计划W1c办公区 - 实用经验教程分享!

  • 11相关内容未经授权抓取自百度经验
  • 12

    以上就是如何用OracleDatabase,查看执行计划的步骤,需要注意的是PL/SQL Developer 工具并不完全支持所有的SQL*Plus命令,执行SET AUTOTRACE ON 就如此,在PL/SQL Developer工具下执行此命令会报错。W1c办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!W1c办公区 - 实用经验教程分享!


    标签: oracle

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码