首页 > 数据库 > Oracle > RBO AND CBO (二)
* ALL_ROWS
* FIRST_ROWS_n
* FIRST_ROWS
* CHOOSE
* RULE
仅在9i及之前版本中被支持,10g已经废除。8i及9i中为默认值。
这个值表示SQL语句既可以使用RBO优化器也可以使用CBO优化器,而决定该SQL到底使用哪个优化器的唯一因素是,所访问的对象是否存在统计信息。
如果所访问的全部对象都存在统计信息,则使用CBO优化器优化SQL;
如果只有部分对象存在统计信息,也仍然使用CBO优化器优化SQL,优化器会为不存在统计信息对象依据一些内在信息(如分配给该对象的数据块)来生成统计信息,只是这样生成的统计信息可能不准确,而导致产生不理想的执行计划;
如果全部对象都无统计信息,则使用RBO来优化该SQL语句。
仅在9i及之前版本中被支持,10g已经废除。
不论是否存在统计信息,都将使用RBO优化器来优化SQL。
在10g中为默认值。
不论是否存在统计信息,都使用CBO优化器,且把CBO的优化目标设定为“最小的成本”。
RBO ,CBO判断依据,就是看COST,card(rows),BYTES是否为空,为空是RBO,不为空则是CBO
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22934571/viewspace-1044190/ ,如需转载,请注明出处,否则将追究法律责任。