Plán provádění zvolený zvoleným optimalizátorem se může značně lišit i mezi dvěma prostředími stejné verze, nikoli pouze 11g a 12c. Záleží na mnoha faktorech, ale většinou:
- Počet řádků v tabulce (jsou podobné mezi prostředími?)
- Jaké indexy jsou k dispozici (mají obě databáze přesně stejné indexy?)
- Existují statistiky pro tabulku a indexy a jak jsou aktuální? Pokud nejsou aktuální, shromážděte statistiky pro tabulky a indexy.
Pokud můžete zveřejnit tyto podrobnosti, mohu poskytnout užitečnější odpověď.
Kód také vypadá jako automaticky generovaný, pokud ho můžete upravit, na základě podrobností vám můžeme navrhnout přepsaný dotaz a/nebo rady.
Pokud nemůžete upravit kód, můžete vynutit plán pomocí SQL Plan Management (SPM) – export z databáze, kde běží rychleji, a import do jiné databáze.
AKTUALIZACE
Ke generování plánu použijte tuto zjednodušenou verzi 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
);