获取执行计划之 Autotrace
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 语句执行完,才出结果
- 无法看到表被访问了多少次
- 当存在绑定变量时执行计划可能不准
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 宸汐缘!
评论