zoukankan      html  css  js  c++  java
  • 执行计划准备篇

    目前我所知道的有两种方法查看执行计划;

    ●一个是用PLSQL Developer工具,用F5执行语句就能看见执行计划

    QQ截图未命名

    ●另一个就是用autotrace语句(必须在SQL*Plus内运行)

    我装的是oracle10g,默认不能直接调用这个语句,必须先设置一下:

    1.用sys用户运行脚本ultxplan.sql
    建立这个表的脚本是:(UNIX:$ORACLE_HOME/rdbms/admin, Windows:%ORACLE_HOME%\rdbms\admin)ultxplan.sql。
    SQL> connect
    sys/sys@colm2 as sysdba;
    SQL> @C:\oracle\ora92\rdbms\admin\utlxplan.sql;
    SQL> create public synonym plan_table for plan_table; --建立同义词
    SQL> grant all on plan_table to public;--授权所有用户
    2.要在数据库中建立一个角色plustrace,用sys用户运行脚本plustrce.sql来创建这个角色,这个脚本在目录(UNIX:$ORACLE_HOME/sqlplus/admin, Windows:%ORACLE_HOME%\sqlplus\admin)中;
    SQL> @C:\oracle\ora92\sqlplus\admin\plustrce.sql;
    3.然后将角色plustrace授予需要autotrace的用户
    SQL>grant plustrace to public;

    通过设置AUTOTRACE系统变量可以控制这个报告:
    set autotrace off:  不生成autotrace报告,这是默认设置
    set autotrace on explain:  autotrace报告只显示优化器执行路径
    set autotrace on statistics: autotrace报告只显示sql语句的执行统计信息
    set autotrace on: autotrace报告既包括优化器执行路径,又包括SQL语句的执行统计信息。 
    set autotrace traceonly: 这与set autotrace on类似,但是不显示用户的查询输出(如果有的话)

    (参考自:http://blog.sina.com.cn/s/blog_4b8abbd60100augv.html

    更新一下开关的说明

     

    set auto[race] {on|off|trace[only]} [exp[plan]][stat[litics]]

    set autot off

    对话禁止使用autotrace命令

    set autot on

    这个命令包括expstat

    执行语句

    生成explain plan

    生成统计信息

    set auto trace

    不执行sql命令,这同样包括expstat

    生成explain plan

    生成统计信息

    set autot trace exp stat

    set autot trace相同

    set autot trace exp

    不执行sql语句

    生成explain plan

    set autot trace stat

    不执行sql语句

    生成统计信息

    以下是执行set autotrace on出来的内容

    SQL> set autotrace on;

    SQL> select * from dept;

        DEPTNO DNAME          LOC
    ---------- -------------- -------------
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
            40 OPERATIONS     BOSTON


    执行计划
    ----------------------------------------------------------
    Plan hash value: 3383998547

    --------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |     4 |   120 |     3   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS FULL| DEPT |     4 |   120 |     3   (0)| 00:00:01 |
    --------------------------------------------------------------------------

    Note
    -----
       - dynamic sampling used for this statement


    统计信息
    ----------------------------------------------------------
              4  recursive calls
              0  db block gets
             16  consistent gets
              0  physical reads
              0  redo size
            641  bytes sent via SQL*Net to client
            400  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              4  rows processed

    酱紫执行计划应该都知道怎么使用了吧。下次讲执行计划怎么看。

  • 相关阅读:
    paip.调用GUI接口.
    paip.按键替换映射总结
    paip.IIS 7.5 应用程序池,应用程序以及虚拟目录的存储位置
    paip.android 手机输入法制造大法
    paip.设置鼠标灵敏度API
    paip.系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本。服务器存储空间不足,无法处理此命令
    paip.DEVSUIT WEB .NET ASPX网站打开慢的原因
    paip.动画透明淡入淡出窗口之重绘性能
    PAIP。JS调用DLL的解决方案
    paip.输入法编程四级非常用汉字汉字1000个
  • 原文地址:https://www.cnblogs.com/my36z/p/1844772.html
Copyright © 2011-2022 走看看