Oracle执行计划——Oracle 如何启用执行计划
AUTOTRACE是一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语句的处理有关的统计。SQL*Plus AUTOTRACE可以用来替代SQL Trace使用,AUTOTRACE的好处是您不必设置跟踪文件的格式,并且它将自动为SQL语句显示执行计划。然而,AUTOTRACE分析和执行语 句;而EXPLAIN PLAN仅分析语句。使用AUTOTRACE不会产生跟踪文件。
1.1 以sys用户,运行utlxplan.sql
sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/utlxplan.sql
1.2 通过执行plustrce.sql脚本创建plustrace角色
SQL> @$ORACLE_HOME/sqlplus/admin/plustrce.sql
1.3 授权
将 plustrace 角色授予当前用户(无 DBA 角色的用户),或者grant plustrace to public;
2 设置Autotrace的命令
序号 |
命令 |
解释 |
1 |
SET AUTOTRACE OFF |
此为默认值,即关闭Autotrace |
2 |
SET AUTOTRACE ON |
产生结果集和解释计划并列出统计 |
3 |
SET AUTOTRACE ON EXPLAIN |
显示结果集和解释计划不显示统计 |
4 |
SET AUTOTRACE TRACEONLY |
显示解释计划和统计,尽管执行该语句但您将看不到结果集 |
5 |
SET AUTOTRACE TRACEONLY STATISTICS |
只显示统计 |
Eg:SET AUTOTRACE ON, set timing on, alter session set time_statistics=true;
以下仅供参考
3 Autotrace执行计划的各列的涵义
序号 |
列名 |
解释 |
1 |
ID_PLUS_EXP |
每一步骤的行号 |
2 |
PARENT_ID_PLUS_EXP |
每一步的Parent的级别号 |
3 |
PLAN_PLUS_EXP |
实际的每步 |
4 |
OBJECT_NODE_PLUS_EXP |
Dblink或并行查询时才会用到 |
4 Autotrace Statistics常用列解释
序号 |
列名 |
解释 |
1 |
db block gets |
从buffer cache中读取的block的数量 |
2 |
consistent gets |
从buffer cache中读取的undo数据的block的数量 |
3 |
physical reads |
从磁盘读取的block的数量 |
4 |
redo size |
DML生成的redo的大小 |
5 |
sorts (memory) |
在内存执行的排序量 |
6 |
sorts (disk) |
在磁盘上执行的排序量 |
最新文章
- Leetcode Search for a Range
- 使用finfo_file()函数检测上传图片的类型
- Myeclipse快捷键的使用
- Spring Object/XML mapping example
- The 6th Zhejiang Provincial Collegiate Programming Contest->;Problem I:A Stack or A Queue?
- 使用 AtomicInteger 进行计数(java多线程优化)
- Web应用程序整体测试基础——单元测试
- 自定义事件解决重复请求BUG
- 关于scanf,gets
- API网关系列之Kong的介绍以及安装
- 使用 ASP.NET Core MVC 创建 Web API(三)
- Windows10反安装报错error code 2502 2503
- 1011 A+B 和 C (15 分)
- [leetcode]236. Lowest Common Ancestor of a Binary Tree二叉树最近公共祖先
- SVN命令行更新代码
- 笔记:Python 字符串小记
- 李嘉诚 《Are you ready》
- GoldenGate的监控
- Discuz常见大问题-如何允许用户插入视频-如何自己在页面中插入视频
- tomcat生产部署关键參数设置