Когда Oracle CBO решает выполнить операцию «декартова операция объединения слиянием»?

Время от времени Oracle, кажется, предпочитает операцию MERGE JOIN CARTESIAN обычной операции MERGE JOIN . Зная данные и глядя на конкретные планы выполнения, я вижу, что эта операция обычно не является проблемой, поскольку одна из объединенных сущностей может вернуть только одну запись в текущем запросе.

Однако по историческим причинам наши администраторы баз данных испытывают отвращение к декартовым продуктам.

Поэтому я хотел бы лучше проанализировать эти случаи и подкрепить свою аргументацию документацией. Есть ли какая-либо официальная документация Oracle о преобразовании запросов и CBO, в которой я могу понять случаи, когда Oracle предпочитает операцию MERGE JOIN CARTESIAN (или аналогичную)?

В этом случае я использую Oracle 11g. (11.2.0.2.0)

ОБНОВЛЕНИЕ :

Это похожие вопросы, но они не объясняют , почему или , когда Oracle предпочитает MJC вместо обычного MERGE JOIN :

6
задан Community 23 May 2017 в 10:24
поделиться