Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Leeren Sie RELIES_ON für RESULT_CACHE

Eine Funktion, die nur von ihren Parametern abhängt, kann als DETERMINISTIC deklariert werden. Die Ergebnisse dieser Funktion werden in einigen Fällen zwischengespeichert. Dieser Thread in den OTN-Foren zeigt, wie deterministische Funktionsergebnisse in SQL-Anweisungen zwischengespeichert werden.

Ab 10gR2 werden die Funktionsergebnisse weder über SQL-Anweisungen noch in PL/SQL zwischengespeichert. Dennoch kann diese Cache-Funktion nützlich sein, wenn Sie eine Funktion in einem SELECT aufrufen, wo sie möglicherweise häufig aufgerufen wird.

Ich habe momentan keine 11gR2-Instanz zur Verfügung, daher kann ich die RESULT_CACHE-Funktion nicht testen, aber haben Sie darüber nachgedacht, Ihre Funktion zu löschen, indem Sie sich auf eine feste Dummy-Tabelle verlassen (eine Tabelle, die beispielsweise nie aktualisiert wird)?