如果有一句非常复杂的语句,如a join b join c join d join e join f join g
是不是改换成(((((a join b) ab join c) abc join d ) abcd join e) abcde join f )join g 要好很多呢?因为,我为它指定了一条执行计划的路径。
是不是改换成(((((a join b) ab join c) abc join d ) abcd join e) abcde join f )join g 要好很多呢?因为,我为它指定了一条执行计划的路径。
在ORACLE7的版本中,有时,一个SQL 会因为CBO而变得无限费时!!!!
但是在8i中,9i对优化器又有了进一步处理,cbo难免有判断错误的地方,这样就导致了本是rbo的语句,却使用了cbo。
如我们一直提倡的bind变量,都可能引起优化器的错误判断。
对于部分语句,除了hint提示外,还可以用outline来解决问题。