autotrace看执行计划,逻辑读,递归调用等sql执行信息。评估的执行计划非真实执行计划,即使是执行了,显示的均是explain的信息。
执行输出示例:
SQL> set timing on
SQL> set autotrace on
SQL> select MGR,wm_concat(ENAME) from emp
2 group by MGR;
MGR WM_CONCAT(ENAME)
---------- --------------------------------------------------------------------------------
7566 SCOTT,FORD
7698 ALLEN,JAMES,TURNER,MARTIN,WARD
7782 MILLER
7788 ADAMS
7839 JONES,CLARK,BLAKE
7902 SMITH
KING
7 rows selected.
Elapsed: 00:00:00.02 -----------timing on 打印执行时间
Execution Plan
----------------------------------------------------------
Plan hash value: 15469362
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 280 | 4 (25)| 00:00:01 |
| 1 | SORT GROUP BY | | 14 | 280 | 4 (25)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 14 | 280 | 3 (0)| 00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
0 recursive calls --------递归调用次数,为完成本用户SQL语句Oracle内部调用的SQL数量
84 db block gets --------在current mode模式下产生的对block的访问叫db block gets,这些block在SGA中,不需要访问硬盘 db block gets+consistent gets= logical reads 逻辑读
24 consistent gets --------一致性读,在Read consistent mode模式下产生的对block的访问叫consistent gets
0 physical reads --------物理读块数,从磁盘读取物理块的数量
0 redo size --------db block changes包含dml修改的block,也包含为实现rollback功能而修改的block,但是不包含为实现redo功能而修改的block,语句执行过程中产生的重做信息的字节数
6395 bytes sent via SQL*Net to client
5183 bytes received via SQL*Net from client
31 SQL*Net roundtrips to/from client
1 sorts (memory) -------内存排序次数
0 sorts (disk) -------磁盘排序次数
7 rows processed -------返回结果行数
set autotrace的常规选项:
1.set autotrace off 不生成autotrace报告,这是默认模式;
2.set autotrace on explain 只显示优化器执行路径报告
3.set autotrace on statistics 只显示执行统计信息
4.set autotrace on 显示执行计划和统计信息
5.set autotrace traceonly 同4,但是不显示查询输出
6.set autotrace traceonly explain 同explain plan,但是不执行语句,只产生计划
7.set autotrace traceonly statistics 同5,只显示执行路径
查询计划报告的属性:
标签:00,set,autotrace,查看,详解,SQL,gets,block From: https://blog.csdn.net/Story_begins/article/details/1430987781.cost 执行计划的成本
2.card 基数,它是特定查询计划步骤输出的记录行数的估量
3.bytes cbo预测的每一个计划步骤将返回的数据字节数量
4.recursive calls 递归调用sql语句的数目
5.db block gets 从缓冲区告诉缓存中读取的总块数
6.consistent gets 在缓存区高速缓存中一个块被请求进行读取的次数
7.physical reads 从数据文件到缓存去告诉缓存物理读取的数目
8.redo size 语句执行过程中产生的重做信息的字节数
9.bytes sent via sql*net to client 从服务器发送到客户端的字节数
10.bytes received via sql*net from client 从客户端接收的字节数
11.sql*net roundtrips to/from client 从客户机发送和接收的sql*net消息的总数,包括从多行的结果集中提取的往返消息
12.sorts(memory) 在内存中排序次数
13.sorts)disk) 在磁盘里的排序次数
14.rows processed 更改或选择返回的行数