sql >> Databasteknik >  >> RDS >> Oracle

Fråga med yttre kopplingar beter sig annorlunda i Oracle 12c

UPPDATERING: Detta är åtgärdat i 12.1.0.2.

Detta ser definitivt ut som en bugg i 12.1.0.1. Jag skulle uppmuntra dig att skapa en serviceförfrågan via Oracles support. De kanske kan hitta en lösning eller en bättre lösning. Och förhoppningsvis kan Oracle fixa det i en framtida version för alla. Normalt är det värsta med att arbeta med support att återskapa problemet. Men eftersom du redan har ett mycket bra testfall kan det här problemet vara lätt att lösa.

Det finns förmodligen många sätt att kringgå denna bugg. Men det är svårt att säga vilken metod som alltid kommer att fungera. Omskrivningen av din fråga kanske fungerar nu, men om optimeringsstatistiken ändras kanske planen ändras i framtiden.

Ett annat alternativ som fungerar för mig på 12.1.0.1.0 är:

ALTER SESSION SET optimizer_features_enable='11.2.0.3';

Men du måste komma ihåg att alltid ändra den här inställningen innan frågan körs, och sedan ändra den tillbaka till '12.1.0.1' efter. Det finns sätt att bädda in det i en frågetips, till exempel /*+ OPT_PARAM('optimizer_features_enable' '11.2.0.3') */ . Men av någon anledning fungerar det inte här. Eller så kanske du kan tillfälligt ställa in det för hela systemet och ändra tillbaka det efter en fix eller bättre lösning finns tillgänglig.

Vilken lösning du än använder, kom ihåg att dokumentera den. Om en fråga ser konstig ut kan nästa utvecklare försöka "fixa" den och träffa samma problem.



  1. Hur använder man osignerade int/long-typer med Entity Framework?

  2. Hantera MySQL med phpMyAdmin på Ubuntu 9.10 (Karmic)

  3. Tuning SQL

  4. Tilldela bilder till trädvynoder-2