Запрос выполняется параллельно в одной среде, а не в другой - PullRequest
0 голосов
/ 29 марта 2020

У меня есть одна вставка в запросе выбора, например:

INSERT /*+ append */ INTO  
select col1,col2...........  
from table1,table2(multiple table join) 

Когда я сравниваю план между prod и UAT, я вижу, что UAT работает в 4 DOP, но prod не работает параллельно.

Запрос точно такой же, и проверяется параллелизм на уровне таблицы, но степень = 1 в prod и UAT.

Не знаете, в чем причина параллельной работы?

Я предполагаю, что при внутреннем использовании /*+ append */ он выберет параллель, но почему он игнорируется в prod?

DB: oracle11g

1 Ответ

0 голосов
/ 29 марта 2020

Просто выполните

select * from table(dbms_xplan.display_cursor('<sql_id>', childnumber, format => '+NOTE ADVANCED ADAPTIVE');

И Oracle скажет вам, в самом низу есть раздел Примечание:

Note
-----
   - Degree of Parallelism is 96 because of table property

Могут быть разные причины, такие как TRIGGERS или Oracle Текстовый указатель присутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...