Rencana eksekusi yang dipilih oleh pengoptimal yang dipilih dapat sangat bervariasi bahkan antara dua lingkungan dengan versi yang sama, bukan hanya 11g dan 12c. Itu tergantung pada banyak faktor, tetapi kebanyakan:
- Jumlah baris dalam tabel (apakah serupa antar envs?)
- Indeks apa yang ada (apakah kedua db memiliki indeks yang sama persis?)
- Apakah ada statistik untuk tabel dan indeks, dan seberapa mutakhirnya? Jika tidak up-to-date, silakan kumpulkan statistik untuk tabel dan indeks.
Jika Anda dapat memposting detail ini, saya dapat memberikan jawaban yang lebih bermanfaat.
Selain itu, kode terlihat seperti dibuat secara otomatis, jika Anda bebas mengubahnya, berdasarkan detailnya, kami dapat menyarankan kueri dan/atau petunjuk yang ditulis ulang.
Jika Anda tidak dapat mengubah kode, Anda dapat memaksa rencana dengan SQL Plan Management (SPM) - ekspor dari db yang berjalan lebih cepat dan impor ke db lain.
PERBARUI
Gunakan versi SQL yang disederhanakan ini untuk membuat rencana:
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
);