Een ding dat u kunt doen, is de NO_QUERY_TRANSFORMATION-hint toepassen die is geïntroduceerd in Oracle 10g.
Als dit het gewenste resultaat oplevert, weet je dat je te maken hebt met een Oracle-bug, aangezien geen enkele hint de werkelijke uitkomst van een zoekopdracht zou moeten veranderen.
Tegelijkertijd heeft u uw probleem misschien opgelost, behalve dat uw uitvoeringsplan misschien niet bevredigend is.
De bug waarmee u wordt geconfronteerd (ik weet niet of het een bekende bug is) is dat de Oracle-optimizer de bedoeling van de oorspronkelijke query mogelijk niet correct interpreteert bij het transformeren van de query voor een beter uitvoeringsplan (weergaven samenvoegen, enz.). Door de hint te gebruiken instrueer je de optimizer om dit niet te doen.
Het fenomeen wordt het vaakst gezien bij complexe zoekopdrachten met inline prestatieweergaven.
Momenteel heb ik geen codevoorbeelden om dit probleem te reproduceren, maar ik werk eraan.
UPDATE:Het lijkt erop dat dit in feite is waar de hint voor bedoeld is - ik heb dit gevonden: