sql >> Database teknologi >  >> RDS >> Oracle

Tøm RELIES_ON for RESULT_CACHE

en funktion, der kun afhænger af dens parametre, kan erklæres DETERMINISTISK. Resultaterne af denne funktion vil blive cachelagret i nogle tilfælde. Denne tråd på OTN-foraene viser, hvordan resultater af deterministiske funktioner bliver cachelagret inde i SQL-sætninger.

Fra og med 10gR2 bliver funktionsresultaterne ikke cachelagret på tværs af SQL-sætninger, og de cachelagres heller ikke i PL/SQL. Alligevel kan denne cache-funktion være nyttig, hvis du kalder en funktion i en SELECT, hvor den kan blive kaldt mange gange.

Jeg har ikke en 11gR2-instans tilgængelig lige nu, så jeg kan ikke teste RESULT_CACHE-funktionen, men har du overvejet at dele din funktion ved at stole på en fast dummy-tabel (en tabel, der f.eks. aldrig bliver opdateret)?



  1. Begynderguide til lagrede procedurer med MySQL?

  2. Hvad er det maksimale antal tegn for NVARCHAR(MAX)?

  3. MySQL bruger ikke indekser med WHERE IN-klausulen?

  4. Sådan opretter du VARRAY'er som PL/SQL-blokmedlem i Oracle-databasen