SGA (System Global Area) içinde yer alan ‘block buffer cache’ –block ön belleğinde veriler öncelikle burada tutulur ve istenildiğinde kullanılır,verilerin tutulduğu bellekten daha hızlı getirilmesi için LRU(Last Recently Used)
algoritması tasarlanmıştır. Performans açısından çok büyük bir etki sağlar.
dba_extents ve x$bh tablolarından faydalanarak veriyi isteme durumlarına bakalım;
conn sys as sysdba
create table test (a number);
insert into test (a) values(10);
commit;
SELECT ext.block_id FROM dba_extents ext
WHERE lower(ext.segment_name) = ‘test’
AND ext.owner = ‘SYS’
BLOCK_ID
————–
86601
Tablomuz 86601 id numaralı blok içinde yer alıyor,
Select * from test;
İle tablomuzu çağıralım ve aşağıdaki select ile veriyi istenme sayısına bakalım;
SELECT x.tch FROM x$bh x
WHERE x.dbablk = 86601
AND x.file# = 1
TCH
——-
4
İstenme sayısı (tch) ‘nın 4 olduğunu görüyoruz,tekrar tablomuzu çağıralım ve istenme sayısına bakalım,
SELECT * FROM test
SELECT x.tch FROM x$bh x
WHERE x.dbablk = 86601
AND x.file# = 1
TCH
—–
5
istenme sayısının 5 olduğunu ve tekrarlandığında LRU algoritmasıyla sayının arttığını görüyoruz.
dba_extents ve x$bh tablolarından faydalanarak veriyi isteme durumlarına bakalım;