일반적으로 오라클은 필요한 데이터를 Block(오라클에서 I/O시의 기본적인 입출력 단위)단위로 읽는다.
그리고 Sort Mege Join을 통한 읽기나, 대용량 배치 서비스를 위한 설정을 추가하거나 하지 않는 한 SGA(System Global Area)내의 DB buffer cache를 경유하여 읽는다.
그러므로 Buffer Cache내에서 읽지못해 DISK를 통해 읽을 경우 Buffer Cache에 해당 데이터를 적재한 후에 읽는다.

물리적인 I/O가 위에 해당하는 Disk이고 논리적인 I/O는 Query + current이다.
위에 말한것처럼 항상 Buffer Cache를 경유하여 읽는다고 하였으므로 ((물리적으로 읽은 I/O) / (논리적으로 읽은 I/O)) * 100 인 Buffer Cache Hit Ratio는 ( 1 - (Disk / query + current) * 100) 으로 통용된다.
위와 같은 경우에는
논리적으로 읽은 I/O : 17611 + 976 = 18587
물리적으로 읽은 I/O : 4894
1- (물리적으로 읽은 I/O / 논리적으로 읽은 I/O) = 1 - 0.26 = 0.74
즉 Buffer Caceh Hit Ratio = 0.74 * 100 = 74%에 해당한다.
'데이터베이스 > 오라클' 카테고리의 다른 글
바인드 변수 (0) | 2022.03.09 |
---|---|
DB Block, Extends, Segment (0) | 2022.03.08 |
BitMap Index 사용 이유. (0) | 2022.03.08 |
인덱스 Skew 및 Fragment (0) | 2022.03.08 |
7. 집계 함수 (0) | 2022.01.25 |