原文来自:
http://www.jb51.net/article/30465.htm
http://hi.baidu.com/edeed/item/7783c4531c974edcd48bac85
一、什么是执行计划
一条查询语句,在oracle 中执行过程或访问路径的描述
二、如何查看执行计划
1、
2、也可以用sql/plus 来执行执行计划
SQL> explain plan for
2 select * from table t1;
Explained
SQL> select * from table(Dbms_Xplan.display);
3、看懂执行计划
4、访问表的方式
FTS(full table) 全表扫描
index unique scan --索引唯一扫描
index range scan --索引局部扫描
index full scan --索引全局扫描
index fast full scan --索引快速全局扫描,不带order by情况下常发生
index skip scan --索引跳跃扫描,where条件列是非索引的前导列情况下常发生
Rowid 物理ID扫描
5 表的连接方式
1.Sort Merge Join (SMJ) --由于sort是非常耗资源的,所以这种连接方式要避免
2.Nested Loops (NL) --比较高效的一种连接方式
3.Hash Join --最为高效的一种连接方式
3.Cartesian Product --卡迪尔积,不算真正的连接方式,sql肯定写的有问题
七、运算符
1.sort --排序,很消耗资源
2.filter --过滤,如not in、min函数等容易产生
3.view --视图,大都由内联视图产生
4.partition view --分区视图