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 优缺点

  • 优点
    1. 可以输出运行时的相关统计信息
    2. 有多种模式可供选择
  • 缺点
    1. 必须要等 SQL 语句执行完,才出结果
    2. 无法看到表被访问了多少次
    3. 当存在绑定变量时执行计划可能不准