Oracle folosește LRU tehnica ( care vine de la 'cel mai recent utilizat'). Acesta este un algoritm de calculator folosit pentru a gestiona datele într-o memorie cache. Atunci când un cache-ul devine plin si ai nevoie de spatiu pentru lucruri noi - să renunțați la cel mai puțin recent utilizat elementele prima (lucrurile nu s-au folosit pentru un timp, dar sunt în cache consumatoare de spațiu).
Acesta nu este specific la blocuri de date - și blocuri de date nu sunt păstrate într-un LRU listă, acestea sunt gestionate de o atingere conta în aceste zile - dar care atinge numărul de algoritm este foarte mult ca un LRU deci, vă puteți gândi în acest mod.
Pe scurt, atunci când ai auzit LRU, cred că de un cache care gestionează unele date (date), și tinde să se debaraseze de obiecte din cache, bazat pe dacă acestea au fost utilizate recent sau nu. Cel mai recent ceva a fost folosit - cu atât mai probabil este să rămână în memoria cache.
Fiecare bloc are un DBA - bloc de date adresa - care constă dintr-un fișier# și bloc#. Aceasta identifică în mod unic un bloc într-o bază de date. Oracle folosește "cheie" pentru a identifica blocul în buffer cache.
Dacă executați o interogare, dacă unele blocuri nu sunt în cache, este pentru că LRU a le respingă în scopul de a aloca mai multe lucruri care sunt utilizate mai recent. Aceasta nu este o garanție, dar dacă aveți nevoie de acest fel de garanție, puteți utiliza diferite piscine în buffer cache, în principal, puteți utiliza KEEP
piscina pentru a menține frecvent accesate segmente în buffer-ul cache.
Sperăm că clarifică.