Oracle用EXPLAIN PLAN分析SQL语句的方法是本文我们主要要介绍的内容,我们知道,EXPLAIN PLAN 是一个很好的分析SQL语句的工具,它甚至可以在不执行SQL的情况下分析语句。 通过分析,我们就可以知道ORACLE是怎么样连接表,使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称。
你需要按照从里到外,从上到下的次序解读分析的结果. EXPLAIN PLAN分析的结果是用缩进的格式排列的, 最内部的操作将被最先解读, 如果两个操作处于同一层中,带有最小操作号的将被首先执行。
NESTED LOOP是少数不按照上述规则处理的操作,正确的执行路径是检查对NESTED LOOP提供数据的操作,其中操作号最小的将被最先处理。
通过实践,感到还是用SQLPLUS中的SET TRACE 功能比较方便。
举例:
- SQL> list
- 1 SELECT *
- 2 FROM dept, emp
- 3* WHERE emp.deptno = dept.deptno
- SQL> set autotrace traceonly /*traceonly 可以不显示执行结果*/
- SQL> /
- 14 rows selected.
- Execution Plan
- ----------------------------------------------------------
- 0 SELECT STATEMENT Optimizer=CHOOSE
- 1 0 NESTED LOOPS
- 2 1 TABLE ACCESS (FULL) OF 'EMP'
- 3 1 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT'
- 4 3 INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)
- Statistics
- ----------------------------------------------------------
- 0 recursive calls
- 2 db block gets
- 30 consistent gets
- 0 physical reads
- 0 redo size
- 2598 bytes sent via SQL*Net to client
- 503 bytes received via SQL*Net from client
- 2 SQL*Net roundtrips to/from client
- 0 sorts (memory)
- 0 sorts (disk)
- 14 rows processed
通过以上分析,可以得出实际的执行步骤是:
1.TABLE ACCESS (FULL) OF 'EMP'
2.INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)
3.TABLE ACCESS (BY INDEX ROWID) OF 'DEPT'
4.NESTED LOOPS (JOINING 1 AND 3)
注意:目前许多第三方的工具如TOAD和ORACLE本身提供的工具如OMS的SQL Analyze都提供了极其方便的EXPLAIN PLAN工具,也许喜欢图形化界面的朋友们可以选用它们。
关于Oracle用EXPLAIN PLAN分析SQL语句的知识就介绍到这里了,希望本次的介绍能够对您有所收获!
相关推荐
NULL 博文链接:https://babydeed.iteye.com/blog/1567772
详细讲解在Oracle中如何使用explain_plan,值得参考和收藏学习。
oracle执行计划,oracle explain plan,在ORACLE数据库中,需要对SQL语句进行优化的话需要知道其执行计划,从而针对性的进行调整.ORACLE的执行计划的获得有几种方法,下面就来总结下
SQL语句性能分析之explain
Oracle中EXPLAIN PLAN的使用技巧
1.如何分析SQL语句 2.选用适合的ORACLE优化器 3.用EXPLAIN PLAN 分析SQL语句 4.使用TKPROF 工具来查询SQL性能状态 5.表分区的应用
mysql的explain分析sql语句性能(慢查询和加没加索引)
explain plan interpreting sql 分析
非常全面的ORACLE SQL性能优化介绍及实例:优化器的选择、共享SQL语句、访问Table的方式、减少访问数据库的次数、使用DECODE函数、减少对表的查询、通过内部函数提高SQL效率、用NOT EXISTS替代NOT IN、使用EXPLAIN ...
详细介绍了oracle解释计划的原理,对理解oracle解释计划非常有用。
常用的数据库性能分析语句,服务器卡的时候,常用的可以查看后台连接、使用能耗比较高的语句代码
NULL 博文链接:https://qidaoxp.iteye.com/blog/758552
而我们在不考虑进行分库分表的操作时,进行SQL语句优化是一个很好的解决办法,下面介绍explain关键词分析SQL语句,及使用索引进行优化查询。 explain关键字使用 explain使用格式 EXPLAIN SELECT * FROM SCORE ...
4.EXPLAIN验证SQL是否走索引 5.结合autotrace创建并验证函数索引 6.sql trace分析工具--TKPROF详细讲解 7.V$SQL视图详解加几个实例 8.autotrace验证压缩表性能 9.autotrace验证消除子查询后的性能 10.基于基本的优化...
1. 预估执行计划 – Explain PlanExplain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出存储到计划表中。 首先,在你要执行的SQL语句前加explain plan for,此时将生成的执行计划存储到计划...
explain分析sql具体字段含义脑图
LNH_MySQL 22-利用explain查看sql语句的执行计划.mp4
博文链接:https://zhengdl126.iteye.com/blog/424090
(2)“Explain Plan” 按钮能快速地显示语句的执行计划; (3)“Export” 按钮能将SQL编辑器中的 SELECT 语句块直接导出为 XLS /CSV /INSERT SQL /HTML /XML 等格 式,方便于数据移植、备份、打印及存档等; (4)...
本工具是用 Java 开发的、专门用于 Oracle 数据库操作的一种图形界面工具: 多线程、多连接、支持 PL/SQL、功能实用、操作简便,能运行于所有平台包括 Windows、Linux 及 Unix,勿需安装 Oracle 客户端,仅 2.8 MB ...