AUTOTRACE选项说明

AUTOTRACE输出了一些报告,这都是什么意思?
------------------------------------------------------------------------------------------ | Id  | Operation                      | Name    | Rows  | Bytes | Cost (%CPU)| Time     | ------------------------------------------------------------------------------------------ |   0 | SELECT STATEMENT               |         |    15 |  1560 |    10  (10)| 00:00:01 | |   1 |  VIEW                          |         |    15 |  1560 |    10  (10)| 00:00:01 | |   2 |   UNION-ALL                    |         |       |       |            |          | |   3 |    NESTED LOOPS OUTER          |         |    14 |   784 |     4   (0)| 00:00:01 | |   4 |     TABLE ACCESS FULL          | EMP     |    14 |   518 |     3   (0)| 00:00:01 | |   5 |     TABLE ACCESS BY INDEX ROWID| DEPT    |     1 |    19 |     1   (0)| 00:00:01 | |*  6 |      INDEX UNIQUE SCAN         | PK_DEPT |     1 |       |     0   (0)| 00:00:01 | |   7 |    MERGE JOIN ANTI             |         |     1 |    22 |     6  (17)| 00:00:01 | |   8 |     TABLE ACCESS BY INDEX ROWID| DEPT    |     4 |    76 |     2   (0)| 00:00:01 | |   9 |      INDEX FULL SCAN           | PK_DEPT |     4 |       |     1   (0)| 00:00:01 | |* 10 |     SORT UNIQUE                |         |    14 |    42 |     4  (25)| 00:00:01 | |  11 |      TABLE ACCESS FULL         | EMP     |    14 |    42 |     3   (0)| 00:00:01 | ------------------------------------------------------------------------------------------
不同数据库版本输出的东西是不一样的。

COST:CBO在执行查询的时候会为执行计划的每一步估计一个成本值,通常CBO会             生成多个执行计划,从中选成本最小的来执行
CARD:是基数的缩写,这是对执行计划中每一步的输出记录数做的一个估计值,比               如全表扫描EMP表这一步估计它的输出行数是14行。事实上EMP表总共也只             有14行。
BYTES:对于执行计划的每一步,CBO会对它们估计一个返回数据量的大小值,单位              是BYTE.

如果说一个执行计划中以上3个指标都没有出现,那么可以肯定该执行计选用的优化器不是CBO,是RBO


recursive calls:为了执行当前的SQL语句,ORACLE需要执行SQL语句的数量。英文翻译为递归调用
db block gets:从当前模式中的缓存区域中读取块的总数量 
consistent gets:一致性读的次数,一致性读需要在缓冲区中申请块。一致性读也可能要去读取UNDO中的信息,读UNDO的次数也要计算在一致性读中。
physical reads:物理读的次数,从数据文件到缓冲区
redo size:执行语句期间产生的REDO的大小,单位为BYTES.
bytes sent via SQL*Net to client:从服务器发给客户端的字节数量
bytes received via SQL*Net from client:从客户端接收的字节数量
SQL*Net roundtrips to/from client:发给客户端和从客户端接收的SQL*NET信息,这包含了往返的信息从一个多行结果集中【this includes round-trips for fetchs from a multiple-row result set】
sorts (memory):代表在用户会话中进行的排序,它由SORT_AREA_SIZE参数控制
sorts (disk):当排序的大小超出了用户的排序大小所能承受的最大值时,会在磁盘上进行排序,这里说的磁盘通常指的是临时表空间。
rows processed:修改处理或者SELECT语句返回的行数

一些AUTOTRACE常用指令说明
set autotrace off---关掉AUTOTRACE
set autotrace on explain--不显示统计信息,显示执行计划 SQL> select * from emp;
     EMPNO ENAME      JOB       HIREDATE                  SAL       COMM     DEPTNO ---------- ---------- --------- ------------------ ---------- ---------- ----------       7369 SCOTT      CLERK     17-DEC-80                 800                    20       7499 SCOTT      SALESMAN  20-FEB-81                1600        300         30       7521 SCOTT      SALESMAN  22-FEB-81                1250        500         30       7566 SCOTT      MANAGER   02-APR-81                2975                    20       7654 SCOTT      SALESMAN  28-SEP-81                1250       1400         30       7698 SCOTT      MANAGER   01-MAY-81                2850                    30       7782 SCOTT      MANAGER   09-JUN-81                2450                    10       7788 SCOTT      ANALYST   19-APR-87                3000                    20       7839 SCOTT      PRESIDENT 17-NOV-81                5000                    10       7844 SCOTT      SALESMAN  08-SEP-81                1500          0         30       7876 SCOTT      CLERK     23-MAY-87                1100                    20
     EMPNO ENAME      JOB       HIREDATE                  SAL       COMM     DEPTNO ---------- ---------- --------- ------------------ ---------- ---------- ----------       7900 SCOTT      CLERK     03-DEC-81                 950                    30       7902 SCOTT      ANALYST   03-DEC-81                3000                    20       7934 SCOTT      CLERK     23-JAN-82                1500                    10
14 rows selected.

Execution Plan ---------------------------------------------------------- Plan hash value: 3956160932
-------------------------------------------------------------------------- | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     | -------------------------------------------------------------------------- |   0 | SELECT STATEMENT  |      |    14 |   490 |     3   (0)| 00:00:01 | |   1 |  TABLE ACCESS FULL| EMP  |    14 |   490 |     3   (0)| 00:00:01 | --------------------------------------------------------------------------
SQL> set autotrace on statistics--显示统计信息,不显示执行计划
SQL> set autotrace on statistics;
SQL> select * from emp;

     EMPNO ENAME      JOB       HIREDATE                  SAL       COMM     DEPTNO
---------- ---------- --------- ------------------ ---------- ---------- ----------
      7369 SCOTT      CLERK     17-DEC-80                 800                    20
      7499 SCOTT      SALESMAN  20-FEB-81                1600        300         30
      7521 SCOTT      SALESMAN  22-FEB-81                1250        500         30
      7566 SCOTT      MANAGER   02-APR-81                2975                    20
      7654 SCOTT      SALESMAN  28-SEP-81                1250       1400         30
      7698 SCOTT      MANAGER   01-MAY-81                2850                    30
      7782 SCOTT      MANAGER   09-JUN-81                2450                    10
      7788 SCOTT      ANALYST   19-APR-87                3000                    20
      7839 SCOTT      PRESIDENT 17-NOV-81                5000                    10
      7844 SCOTT      SALESMAN  08-SEP-81                1500          0         30
      7876 SCOTT      CLERK     23-MAY-87                1100                    20

     EMPNO ENAME      JOB       HIREDATE                  SAL       COMM     DEPTNO
---------- ---------- --------- ------------------ ---------- ---------- ----------
      7900 SCOTT      CLERK     03-DEC-81                 950                    30
      7902 SCOTT      ANALYST   03-DEC-81                3000                    20
      7934 SCOTT      CLERK     23-JAN-82                1500                    10

14 rows selected.


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          8  consistent gets
          0  physical reads
          0  redo size
       1187  bytes sent via SQL*Net to client
        385  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
         14  rows processed

SQL> 

set autotrace on---打开autotrace功能,能显示执行计划和统计信息
set autotrace traceonly--不显示SQL语句执行结果
SQL> set autotrace traceonly;
SQL> select * from dual;


Execution Plan
----------------------------------------------------------
Plan hash value: 272002086

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |     1 |     2 |     2   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| DUAL |     1 |     2 |     2   (0)| 00:00:01 |
--------------------------------------------------------------------------


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          3  consistent gets
          0  physical reads
          0  redo size
        407  bytes sent via SQL*Net to client
        385  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

SQL> 
set autotrace traceonly statistics--只显示统计信息
SQL> set autotrace traceonly statistics
SQL> select * from emp;

14 rows selected.


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          8  consistent gets
          0  physical reads
          0  redo size
       1187  bytes sent via SQL*Net to client
        385  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
         14  rows processed

set autotrace traceonly explain --只显示执行计划
SQL> set autotrace traceonly explain 
SQL> select * from emp;

Execution Plan
----------------------------------------------------------
Plan hash value: 3956160932

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

SQL> 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15720542/viewspace-731672/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15720542/viewspace-731672/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值