4、表连接、嵌套子查询等),执行计划可能几十种甚至上百种,但是到底那种最好呢?我们事前并不知道,数据库本身也不知道,但是数据库会根据一定的规则或者统计信息(statistics)去选择一个执行计划,通常来说选择的是比较优的,但也有选择失误的时候,这就是这次讨论的价值所在。 Oracle优化器模式 Oracle优化器有两大类,基于规则的和基于代价的,在SQLPLUS中我们可以查看init文件中定义的缺省的优化器模式。 SQL>showparametersoptimizer_mode NAME
5、 TYPE VALUE optimizer_mode string CHOOSE SQL> 这是Oracle8.1.7企业版,我们可以看出,默认安装后数据库优化器模式为CHOOSE,我们还可以设置为RULE、FIRST_ROWS,ALL_ROWS。可以在init文件中对整个instance的所有会话设置,也可以单独对某个会话设置: SQL>ALTERSESSIONSEToptimizer_mode =RULE; 会话已更改。 SQL> ALTERSESSIONSEToptimi