*AutoTRACE是分析SQL的执行计划,执行效率的一个非常简单方便的工具
*/
AUTOTRACE是一项 SQL*Plus 功能,自动跟踪为 SQL 语句生成一个执行计划并且提供与该语句的处理有关的统计。
SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是您不必设置跟踪文件的格式,并且它将自动为 SQL 语句显示执行计划。然而,AUTOTRACE 分析和执行语句;而EXPLAIN PLAN仅分析语句。
使用AUTOTRACE不会产生跟踪文件。
SQLPLUS的AutoTrace是分析SQL的执行计划,执行效率的一个非常简单方便的工具,在绝大多数情况下,也是非常有用的工具。利用 AutoTrace工具提供的SQL执行计划和执行状态可以为我们优化SQL的时候提供优化的依据,以及优化效果的明显的对比效果。
用法: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
说明:
前三个参数{OFF | ON | TRACE[ONLY]} 里必需选择一个,而且只能选择一个;后两个参数[EXP[LAIN]] [STAT[ISTICS]]是可选的,也可以都不选择TRACE[ONLY]的含意是只显示explain和statistic,不显示SQL的结果集.
1.SET AUTOTRACE OFF; 显示:只显示记录集,这也就是默认的SQL PLUS的窗口效果
<!--StartFragment -->2.SET AUTOTRACE ON; 显示:记录集+explain+statistics
3.SET AUTOTRACE ON EXPLAIN; 显示:记录集+explain
4.SET AUTOTRACE ON STATISTICS; 显示 :记录集+statistics
5.SET AUTOTRACE ON TRACEONLY; 显示: expain+statistics(不显示数据)
6.SET AUTOTRACE ON TRACEONLY STATISTICS; 显示: statistics
7.SET AUTOTRACE ON TRACEONLY EXPLAIN; 显示: expain
=============================================================================
结果解释
physical reads 物理读——执行SQL的过程中,从硬盘上读取的数据块个数
redo size 重做数——执行SQL的过程中,产生的重做日志的大小
bytes set via sql*net to client 通过sql*net发送给客户端的字节数
bytes received via sql*net from client 通过sql*net接受客户端的字节数
sorts(memory) 在内存中发生的排序
sorts(disk) 不能在内存中发生的排序,需要硬盘来协助
rows processed 结果的记录数