Het uitvoeringsplan dat door de gekozen optimizer is gekozen, kan sterk variëren, zelfs tussen twee omgevingen van dezelfde versie, niet alleen 11g en 12c. Het hangt van veel factoren af, maar vooral:
- Aantal rijen in de tabel (zijn ze vergelijkbaar tussen envs?)
- Welke indexen zijn aanwezig (hebben beide dbs exact dezelfde indexen?)
- Zijn er statistieken voor de tabel en de indexen, en hoe up-to-date zijn ze? Indien niet up-to-date, verzamel dan statistieken voor de tabellen en de indexen.
Als u deze details kunt posten, kan ik u een nuttiger antwoord geven.
De code ziet er ook uit als automatisch gegenereerd, als u vrij bent om ze aan te passen, kunnen we op basis van de details een herschreven zoekopdracht en/of hints voorstellen.
Als u de code niet kunt wijzigen, kunt u een plan forceren met SQL Plan Management (SPM) - export van de db waar het sneller draait en importeer in de andere db.
UPDATE
Gebruik deze vereenvoudigde versie van de SQL om het plan te genereren:
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
);