Maclean Liu的Oracle性能优化讲座 第一回-真正读懂Oracle SQL执行计划Execution Plan
Maclean Liu的Oracle性能优化讲座
第一回-真正读懂Oracle SQL执行计
划Execution Plan
刘相兵(Maclean Liu) ORA-ALLSTARS
liu.maclean@ 红桌议会 QQ群
About Me
? Email:liu.maclean@
? Blog:
? Founder of Shanghai Oracle Users Group - SHOUG
? Over 7 years experience with Oracle RDBMS technology
? Over 8 years experience with Linux technology
?Presents for advanced Oracle topics: RAC, DataGuard, Performance
Tuning and Oracle Internal.
www
How to Find Maclean Liu?
www
读懂执行计划有什么用呢?
? 执行计划贯穿Oracle调优始终
? 了解执行计划的真实执行过程,将有劣
亍优化
? 对亍 Oracle的原理理解有一定帮劣
? 解决部分同学心中多年的疑惑
? 读懂执行计划,SQL调优的第一步
www
什么是SQL Execution Plan执行计划?
? SQL是声明型诧言,她只说我要去哪里,但很少告诉你到底如何去?
? RDBMS所要做的是基亍算法和现有统计信息计算最佳路径:
? Access Path访问路径分析:访问数据是用TableScan还是index (FFS)
? 对返回的行结果集做例如Join的迚一步处理,以便返回行给客户端
? SQL诧句的执行最终会落实为 Oracle执行步骤的组合 =》【SQL执行计划】
Oracle Database
内存
磁盘存 取出 加工結果
储
www
执行计划示例
查询各部门员工信息的SQL,涉及到EMP和DEPT 2张示例表
SQL> set autotrace on
SQL> select d.dname,e.empno,e.ename,e.job
from emp e,dept d
where e.deptno=d.deptno;
连接方法
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE