Autotrace 简介
AUTOTRACE是一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语句的处理有关的统计。
AUTOTRACE的好处是您不必设置跟踪文件的格式,并且它将自动为SQL语句显示执行计划。
Autotrace 选项说明
命令 |
输出内容 |
简写 |
是否真实执行 |
SET AUTOTRACE OFF |
缺省模式,只显示SQL执行结果 |
SET AUTOT OFF |
是 |
SET AUTOTRACE ON |
显示SQL结果、执行路径和资源消耗 |
SET AUTOT ON |
是 |
SET AUTOTRACE TRACEONLY |
显示SQL结果数量、执行路径和资源消耗 |
SET AUTOT TRACE |
是 |
SET AUTOTRACE TRACEONLY EXPLAN |
只显示SQL执行路径 |
SET AUTOT TRACE EXP |
Select语句没有,DML会被执行 |
SET AUTOTRACE TRACEONLY STATISTICS |
只显示资源消耗 |
SET AUTOT TRACE STAT |
|
统计信息
统计信息 |
解释 |
recursive calls |
产生的递归sql调用的条数 |
Db block gets |
从buffer cache中读取的block的数量 |
consistent gets |
从buffer cache中读取的undo数据的block的数量 |
physical reads |
从磁盘读取的block的数量 |
redo size |
DML生成的redo的大小 |
bytes sent via SQL*Net to client |
数据库服务器通过SQL*Net向查询客户端发送的查询结果字节数 |
bytes received via SQL*Net from client |
通过SQL*Net接受的来自客户端的数据字节数 |
SQL*Net roundtrips to/from client |
服务器和客户端来回往返通信的Oracle Net messages条数 |
sorts (memory) |
在内存执行的排序量 |
sorts (disk) |
在磁盘上执行的排序量 |
rows processed |
处理的数据的行数 |
Autotrace 优缺点
- 优点
- 可以输出运行时的相关统计信息
- 有多种模式可供选择
- 缺点
- 必须要等SQL语句执行完,才出结果
- 无法看到表被访问了多少次
- 当存在绑定变量时执行计划可能不准