优化器的优化模式(OptermizerMode):包括Rule,Choose,Firstrows,Allrows这四种方式.
Rule:不用多说,即走基于规则的方式。rbo
Choose:指的是当一个表或或索引有统计信息,则走CBO的方式,如果表或索引没统计信息,表又不
是特别的小,而且相应的列有索引时,那么就走索引,走RBO的方式。
FirstRows:它与Choose方式是类似的,所不同的是当一个表有统计信息时,它将是以最快的方式返
回查询的最先的几行,从总体上减少了响应时间。对于排序分页页显示这种查询尤其适用.
AllRows:也就是我们所说的Cost的方式,当一个表有统计信息时,它将以最快的方式返回表的所有
的行,从总体上提高查询的吞吐量。没有统计信息则走基于规则的方式.
查看缺省的Oracle优化器:
SQL>showparametersoptimizer_mode;
可以在init文件中对整个instance的所有会话设置.
也可以单独对某个会话设置:
SQL>ALTERSESSIONSEToptimizer_mode =FIRST_ROWS;