从RULE到COST的Oracle 10优化器:为什么?

Gab*_*ona 4 sql oracle optimization

Oracle决定从10g版本中删除基于规则的优化器,将基于成本的优化器作为唯一选择.

我认为基于规则的优化器具有始终可预测的无价值的积极方面.我已经看到Oracle 10g改变了执行计划,从而导致了类似乌龟的表演.

这可能是这种变化背后的理由?

Qua*_*noi 7

因为你可以做的一切RBO都可以完成CBO.

CBO过基于可规则-还不止这些,你可能会决定将"规则"自己.

要创建自己的"规则",您需要提示您的查询或执行一个CREATE OUTLINE会为您提示的问题.因此,您的执行计划是稳定的.

轮廓存储在称为的系统模式中OUTLN,它们是可编辑的.

至于我,我总是提供在生产数据库中运行的查询的提示.