0

今天的问题;如果 RBO 在 10.2.0.3 中启用并且尝试使用分层方法;例如,CONNECT BY PRIOR,优化器是否切换到 CBO 执行?我有一个大的 RBO 10GR2(不要问!!),我知道统计数据已经过时,并且查询运行起来像狗一样使用 CONNECT BY。

在 v$sqlarea 中,OPTIMIZER_MODE 是 RULE。我知道使用 LEFT OUTERS 会强制 RULE 成本。

有什么想法吗?

4

2 回答 2

0

当我的记忆正确时,您应该能够通过以下方式强制 RBO:

/*+ RULE */

作为优化提示。

于 2014-11-20T15:25:31.577 回答
0

我设法弄清楚这不是 CONNECT BY 强制 CBO,在 SELECT 子句中有一个 RANK() over Partition 导致它!

于 2014-11-20T16:10:00.783 回答