最近在学习024,遇到了不少平时用的比较少的东东。关于LRU Latch contention中引入了LRU 命中率的概念,也就是用SLEEP 除以 GETS来得到命中率。为什么MISSES不参与命中率计算呢?另外,SLEEP1..SLEEP11是什么意思?
SVRMGR> DESC V$LATCH
列名
空? 类型
------------------------------ -------- ----
ADDR
RAW(4)
LATCH#
NUMBER
LEVEL#
NUMBER
NAME
VARCHAR2(64)
GETS
NUMBER
MISSES
NUMBER
SLEEPS
NUMBER
IMMEDIATE_GETS
NUMBER
IMMEDIATE_MISSES
NUMBER
WAITERS_WOKEN
NUMBER
WAITS_HOLDING_LATCH
NUMBER
SPIN_GETS
NUMBER
SLEEP1
NUMBER
SLEEP2
NUMBER
SLEEP3
NUMBER
SLEEP4
NUMBER
SLEEP5
NUMBER
SLEEP6
NUMBER
SLEEP7
NUMBER
SLEEP8
NUMBER
SLEEP9
NUMBER
SLEEP10
NUMBER
SLEEP11
NUMBER
SLEEP[1 | 2 | 3]
NUMBER
Waits that slept 1 time through 3 times, respectively
SLEEP4
NUMBER
Waits that slept 4 or more times
SLEEP[5 | 6 | 7 | 8 | 9 | 10 | 11]
NUMBER
These columns are present for compatibility with previous releases of Oracle. No data is accumulated for these columns.
MISSES: GETS that did not obtain the latch on first try, not 表示sleeps数次后无法获取latch而导致失败次数.
why not use misses is becuase latch still can be got by spin, which is
just couple of cpu cycles and is trival, compared to sleep, from the
point of performance.