oracle一些基本的SQL优化,适合入门讲座
ORACLE的优化器共有3种:
a. RULE (基于规则rbo) b. COST (基于成本cbo)
c. CHOOSE (选择性)
设置缺省的优化器,可以通过对init.ora文件中 OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也可在SQL句级或是会话(session)级对其进行覆盖
优化原则:小表驱动大表,即小的数据集驱动大的数据集。
############# 原理 (RBO) #####################
select * from A where id in (select id from B)
等价于:
for select id from B
for select * from A where A.id = B.id
当B表的数据集必须小于A表的数据集时,用in优于exists。
select * from A where exists (s