Планът за изпълнение, избран от избрания оптимизатор, може да варира значително дори между две среди на една и съща версия, а не само 11g и 12c. Зависи от много фактори, но най-вече от:
- Брой редове в таблицата (подобни ли са между envs?)
- Какви индекси присъстват (и двете бази данни имат ли същите индекси?)
- Има ли статистически данни за таблицата и индексите и колко актуални са те? Ако не е актуална, моля, съберете статистика за таблиците и индексите.
Ако можете да публикувате тези подробности, мога да дам по-полезен отговор.
Освен това кодът изглежда като автоматично генериран, ако имате свободата да го променяте, въз основа на детайлите, можем да предложим пренаписана заявка и/или съвети.
Ако не можете да модифицирате кода, можете да принудите план с SQL Plan Management (SPM) - експортиране от базата данни, където работи по-бързо, и импортиране в друга база данни.
АКТУАЛИЗАЦИЯ
Използвайте тази опростена версия на SQL, за да генерирате плана:
SELECT * FROM DMProgDate_00001
WHERE ProgressOID IN (
SELECT OID FROM DMProgress_00001
WHERE Project = 'Moho'
AND Phase = 'Procurement'
AND Displine = 'Q340'
AND ROWNUM <= 20
ORDER BY actCode
);