Oracle OPTIMIZER_MODE参数

2014-11-24 18:34:52 · 作者: · 浏览: 0

Rule Based Optimizer(RBO)基于规则
Cost Based Optimizer(CBO)基于成本,或者讲统计信息



SQL> show parameter optimizer_mode;



NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode stringALL_ROWS



oracle10g开始默认是all_rows



ALL_ROWS不管是不是有统计信息,全部采用基于成本的优化方法,返回最大数的量数据


FIRST_ROWS_n不管是不是有统计信息,全部采用基于成本的优化方法并以最快的速度,返回前N行记录


FIRST_ROWS使用成本和试探法相结合的方法,查找一种可以最快返回前面少数行的方法


第一个是返回所有行的最小代价,第二个是返回前N行的最小代价,最后一个是返回前面的少量行的最好计划


修改全局
alter system set optimizer_mode=all_rows;


修改当前session


alter session set optimizer_mode=all_rows;