一:SQL语句的优化途径
1.选择合适的Oracle优化器
(1).RBO 基于规则进行优化的优化器 --Oracle 10G 后被抛掉
(2).CBO基于成本(CPU 和 内存的占用率)优化的优化器 --优化器使用的模式根据目标而定
CBO 的优化模式:
Rule:基于规则
Choose:默认,表或者索引有统计信息,走CBO模式,否则走RBO 模式
First row:表中有统计信息时,以最快方式返回查询的前几行,总体减少响应时间
All row:表中有统计信息时,以最快方式返回表的所有行,总体提高查询吞吐量
2.选择恰当的扫描方式
全表扫描:Oracle读取表中的所有行,并检查每一行是否满足WHERE 语句的限制
使用ROWID:快速定位到目标数据上
索引扫描:只在CBO模式下有效
快速索引扫描:扫描的数据不排序
3.善于利用共享的SQL语句 --共享的SQL 语句放在Oracle实例的系统全局区域(SGA)中,