oracle用plsql trance,Oracle执行计划总结
一、ORACLE中常见执行计划
表访问的执行计划
1、table access full:全表扫描。它会访问表中的每一条记录。
2、table access by user rowid:输入源rowid来自于用户指定。
3、table access by index rowid:输入源rowid来自于索引。
4、table access by global index rowid:全局索引获取rowid,然后再回表。
5、table access by local index rowid:分区索引获取rowid,然后再回表。
6、table access cluster:通过索引簇的键来访问索表。
7、external table access:访问外部表。
8、result cache:结果集可能来自于缓存。
9、mat_view rewrite access:物化视图。
索引访问的执行计划
1、index unique scan:只返回一条rowid的索引扫描,或者unique索引的等值扫描。
2、index range scan:返回多条rowid的索引扫描。
3、index full scan:顺序扫描整个索引。
4、index fast full scan:多块读方式扫描整个索引。
5、index skip scan:多应用于组合索引中,引导键值为空的情况下索引扫描。
6、and-equal:合并来自于一个或多个索引的结果集。
7、domain index:应用域索引。
表连接的执行计划
表连接的几种方式:
1、SORT MERGE JOIN(排序-合并连接)
2、NESTED LOOPS(嵌套循环)
3、HASH JOIN(哈希连接)
4、CARTESIAN PRODUCT(笛卡尔积)
二、怎样查看Oracle执行计划
1、plsql Developer中查看
在plsql中:工具 —> 首选项 —> 窗口类型 —> 计划窗口 —> 根据需要配置要显示在执行计划中的列
执行计划的常用列字段解释:
基数(Rows):Oracle估计的当前操作的返回结果集行数
字节(Bytes):执行该步骤后返回的字节数
耗费(COST)、CPU耗费:Oracle估计的该步骤的执行成本,用于说明SQL执行的代价,理论上越小越好(该值可能与实际有出入)
时间(Time):Oracle估计的当前操作所需的时间
在SQL窗口执行完一条select语句后按 F5 即可查看刚刚执行的这条查询语句的执行计划
2、sql命令查看
(1)explain plan命令
例子:explain plan for select * from zyfs.contact_order where rowid = 'AAAU1wADyAAAAFLAAA';
select * from table(dbms_xplan.display);
(2)sqlplus的autotrace开关
autotrace开关可以在sqlplus下得到目标sql的执行计划,也可以同时得到目标sql的统计信息。autotrace开关的具体语法如下:
set autotrace {off|on|traceonly} [explain] [statistics]
具体使用方法如下:
(1)set autotrace on:显示目标sql的执行结果,执行计划和统计信息。
(2)set autotrace off:只显示目标sql的执行结果,为默认值。
(3)set autotrace traceonly:显示执行结果数量,执行计划和统计信息。
(4)set autotrace traceonly explain:只显示目标sql的执行计划。
(5)set autotrace tranceonly statistics:只显示目标sql的执行结果数量和统计信息。
三、看懂执行计划
执行计划其实是一颗树,层次最深的先执行,层次相同,上面的先执行。显示的时候已经按照层次缩进。
例如:
在plsql工具中有查看顺序的按钮,如上图红色圈子。
oracle用plsql trance,Oracle执行计划总结相关推荐
- (转) Oracle性能优化-读懂执行计划
Oracle的执行计划 得到执行计划的方式 Autotrace例子 使用Explain explain plan set STATEMENT_ID='testplan' for select * fr ...
- Oracle 高性能SQL引擎剖析----执行计划
执行计划是指示Oracle如何获取和过滤数据.产生最终结果集,是影响SQL语句执行性能的关键因素.我们在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让SQL引擎为语句生成执行 ...
- ORACLE SQL调优之执行计划与隐藏参数_complex_view_merging
最近,赤峰windows 版的11.2.0.3的oracle数据库出现一条sql语句执行非常慢,需要1天的时间还出不来,但是观察服务器的IO和CPU都是很空闲,并且将 该sql语句涉及的对象全部导出, ...
- Oracle进阶篇之查看执行计划
目录 一.查看执行计划的方式 1.1.设置autotrace 1.2.使用第三方工具 1.3.EXPLAIN PLAN FOR 二.清除SGA缓存 三.分析执行计划 3.1.创建测试表 3.2.查看执 ...
- Oracle授权普通用户查看执行计划
利用不同的方法查看执行计划有对应不同的授权方法. 一. explain plan与dbms_xplan.display 最常用的方法,plsqldev的F5对应也是这个.这个命令会产生执行计划,并把执 ...
- Oracle 使用coe_xfr_sql_profile.sql迁移执行计划
前面 Oracle 如何不改变SQL为其绑定构造的执行计划 介绍了不改变sql语句而替换其执行计划的方法,但有一个问题是里面的方法都需要执行计划和目标sql在库中cache或AWR中存在,否则无法使用 ...
- ORACLE 查看有多个执行计划的SQL语句
在SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL有多个执行计划一 ...
- plsql如何配置连接oracle数据库,PLSQL连接Oracle 数据库配置详解
(oracle官网下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html , 下载地址2:http://download.c ...
- toad查看oracle的plsql包,Oracle logminer 分析redo log(TOAD与PLSQL)
Oracle logminer 分析redo log Oracle 11g r2 RAC centos 6.5 设置时间格式 select to_char(sysdate,'yyyy-mm-dd hh ...
最新文章
- 2022-2028年中国聚硫橡胶行业市场研究及前瞻分析报告
- JS—图片压缩上传(单张)
- 五分钟DBA:浅谈伪分布式数据库架构
- 基于继承类的属性模版中无法绑定的原因和解决方法
- 力扣【每日温度】leetcode-739.每日温度:单调栈解法
- 理解“动心忍性”的含义
- 对Bridge模式的理解
- [2017.3.23]Miller-Rabin
- (转) lucene+paoding亲密接触
- 解决人工智能PCA算法输出不稳定的方案
- markdown与latex:数学符号远远大于\gg和远远小于书写\ll
- python笔记26-命令行传参sys.argv实际运用
- 精读《手写 SQL 编译器 - 回溯》 1
- 《集体智慧编程》第8章 构建价格模型 个人笔记
- 基于深度学习的单视图三维重建算法学习路线
- waiter.OnGreet(Tom) Delegate event
- ORACLE应用产品和SAP、SSA、SYMIX产品的比较分析
- SVN 如何解决冲突?
- 大数据java篇——集合类
- 如何通过ADB命令的方式关闭华为系手机的emui系统更新升级?解决:error: no devices/emulators found