|
|
最初由 zf_wu 发布
[B]多谢,eygle!下面是我的见解, 请指正.
抛开这个案例来谈,不同的是优化器模式,两者的比较.
假定两者的执行树(访问顺序和访问路径)一致.相同的环境.
我认为两者不同只是在于产生执行树的过程.RBO以固定的规则产生
CBO则通过复杂运算和比较产生.这个过程中产生时间差异,通常是RBO较CBO少,尤其是多表连接时。而一旦产生执行树无论是什么
优化器模式其运行的时间和cost(cpu,I/O)都是一样的。
另外从上面两者的statistics的一致得到间接的证明。 [/B]
一般不要拿时间来衡量,要衡量时间最好也用10046
而不要用其它方式(我的例子只是大概的时间量度)
因为会有偏差
同样的SQL、同样的执行计划在不同的时刻,其执行时间也可能有极大不同
并发对速度及性能都有很大影响.
所以不要容忍任何一条可以优化的sql
不管CBO/RBO,在soft parse时都能绕过昂贵的Optimization及Row Source Generator的过程,保证执行计划的一致. |
|