`

ORACLE之autotrace使用

 
阅读更多

SQLPLUS的AutoTrace是分析SQL的执行计划,执行效率的一个非常简单方便的工具,在绝大多数情况下,也是非常有用的工具。利用AutoTrace工具提供的SQL执行计划和执行状态可以为我们优化SQL的时候提供优化的依据,以及优化效果的明显的对比效果。 

 

AUTOTRACE不会产生跟踪文件

AUTOTRACE分析和执行语句,EXPLAIN PLAN只分析语句。

 

用法: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]

举例:

SET AUTOT[RACE] OFF 停止AutoTrace

SET AUTOT[RACE] ON 开启AutoTrace,显示AUTOTRACE信息和SQL执行结果

SET AUTOT[RACE] TRACEONLY 开启AutoTrace,仅显示AUTOTRACE信息

SET AUTOT[RACE] ON EXPLAIN 开启AutoTrace,仅显示AUTOTRACE的EXPLAIN信息

SET AUTOT[RACE] ON STATISTICS开启AutoTrace,仅显示AUTOTRACE的STATISTICS信息

结果解释

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 结果的记录数

    AutoTrace进行优化的注意事项

1. 可以通过设置timing来得到执行SQL所用的时间,但不能仅把这个时间来当作SQL执行效率的唯一量度。这个时间会包括进行AUTOTRACE的一些时间消耗,所以这个时间并不仅仅是SQL执行的时间。这个时间会与SQL执行时间有一定的误差,而在SQL比较简单的时候尤为明显。

2. 判断SQL效率高低应该通过执行SQL执行状态里面的逻辑读的数量

     逻辑读 =(db block gets+ consistent gets)

总结

 

AutoTrace是ORACLE中优化工具中最基本的工具,虽然功能比较有限,但足以满足我们日常工作的需要。

 

   在Oracle9i中需要运行$ORACLE_HOME/RDBMS/ADMIN/utlxplan.sql脚本生成plan_table表;

   在Oracle10g中PLAN_TABLE不再需要创建,Oracle缺省增加了一个字典表PLAN_TABLE$,然后基于PLAN_TABLE$创建公用同义词供用户使用

关于Autotrace几个常用选项的说明:

SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式

SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告

SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息

SET AUTOTRACE ON ----------------- 包含执行计划和统计信息

SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不显示查询输出

分享到:
评论

相关推荐

    oracle 的Autotrace介绍

    oracle 的Autotrace介绍 是oracle10g的新技术,有人需要么

    oracle使用autotrace 功能

    AUTOTRACE是一个SQL*Plus工具,用于跟踪SQL的执行计划,收集执行时所耗用资源的统计信息,是SQL优化工具之一,下面给出启用AUTOTRACE 功能步骤。

    Oracle性能分析——使用set_autotrace_on和set_timing_on来分析select语句的性能.doc

    Oracle性能分析——使用set_autotrace_on和set_timing_on来分析select语句的性能.doc

    Oracle数据库管理员技术指南

    8.5.5 使用 AUTOTRACE 获得 SQL 语句 执行计划和统计数据 8.6 优化回退段 8.6.1 最小化回退段争用 8.6.2 使动态扩充最小化 8.6.3 分布回退段的 I/O 8.7 优化索引 8.7.1 怎样确定和重建产生碎片的索引 8.7.2 ...

    Oracle 临时表之临时表的应用问题

    网上有人给出了佳的优化思路是:  1、先将大表中满足条件的记录抽出来生成一张临时表  2、再将这较小的临时表与另一张较小的表进行关联查询  先不论思路是否值得商榷,这把临时表当成...  关于临时表的使用至

    大牛出手Oracle SQL优化实例讲解

    1.Oracle如何得到一个很大的表 2.loop insert 实例 3.autotrace验证索引的性能到底有多大? 4.EXPLAIN验证SQL是否走索引 5.结合autotrace创建并验证函数索引 6.sql trace分析工具--TKPROF详细讲解 7.V$SQL视图详解加...

    深入解析Oracle.DBA入门进阶与诊断案例

    10.1.2 Oracle 10g AUTOTRACE功能的增强 473 10.1.3 AUTOTRACE功能的内部操作 475 10.1.4 使用AUTOTRACE功能辅助SQL优化 477 10.2 获取SQL执行计划的方法 479 10.2.1 通过V$SQL_PLAN获得执行计划 479 ...

    ORACLE9i_优化设计与系统调整

    §10.13.8 使用ORACLE 诊断工具 126 第三部分 ORACLE应用系统开发优化 128 第11章 诊断与调整工具- 128 §11.1 警告日志文件 128 §11.1.1 警告日志文件管理 128 §11.1.2 参考警告日志文件调整 128 §11.2 后台进程...

    oracle怎么查看执行计划

    怎么进行autotrace进行查看执行计划

    深入解析OracleDBA入门进阶与诊断案例 3/4

     10.1 使用AUTOTRACE功能辅助SQL优化   10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整  ...

    深入解析OracleDBA入门进阶与诊断案例 2/4

     10.1 使用AUTOTRACE功能辅助SQL优化   10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整  ...

    深入解析OracleDBA入门进阶与诊断案例 4/4

     10.1 使用AUTOTRACE功能辅助SQL优化   10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整  ...

    oracle执行计划

    oracle执行计划,设置autotrace允许显示DML语句的一些统计信息和/或查询计划。

    Oracle数据库实验操作

    实验147:AUTOTRACE的使用 235 实验148:定位高消耗资源语句 236 实验149:收集数据库的统计信息 236 实验150:收集列的统计信息 238 实验151:自动收集统计信息 239 数据库的不同访问模式 240 实验152:全表扫描的...

    Oracle专家高级编程+(清晰).pdf

    着重调优的好书,非常经典,其中对于tkprof,autotrace等有很深刻的讲解

    oracle 性能优化

    oracle 性能优化 教你如果调优 sql>set autotrace on

    Oracle中使用DBMS_XPLAN处理执行计划详解

    主要介绍了Oracle中使用DBMS_XPLAN处理执行计划详解,文中包含大量实例,以及set autotrace命令对应实现等内容,需要的朋友可以参考下

    oracle performance tuning

    query processing,Explain plan,autotrace

Global site tag (gtag.js) - Google Analytics