CBO的相关原理
CBO在oracle7中被引入,基于数据对象的统计信息(包括数据集的行数,唯一值的个数等等)来计算执行计划的执行成本。随着版本的演化,CBO逐渐完善起来,在我开始使用系统统计信息(系统统计,系统统计信息的出现是为了估算SQL在CPU方面的消耗)。但是国会预算办公室仍然存在一些缺陷,通过了解国会预算办公室的一些相关原理,其缺陷大家也就很容易理解了,从而也会明白,很多时候CBO所依赖的统计信息都收集的百分之百准确了,还是会选错执行计划的原因。
执行计划的选择
CBO在生成一条执行计划后,会计算其成本,然后和已经生成的执行计划中成本最低的进行比较。这种比较在以下条件满足其一就停止:
1只,,所有执行计划都已经被计算过