논리적 I/O, 물리적 I/O, 버퍼 캐시 히트율(BCHR)

양시준·2022년 4월 24일
0

SQLP 메모

목록 보기
3/3

논리적 I/O

SQL 문장을 처리하는 과정에서 메모리 버퍼캐시에서 발생한 총 블록 I/O로, 메모리에 접근하여 데이터를 가져온 블록 수를 말한다.

물리적 I/O가 일어나더라도 메모리 버퍼캐시에 올라가서 처리되므로 SQL 문장을 처리하는 과정에서 발생한 모든 블록 개수로도 볼 수 있다.

물리적 I/O

SQL 문장을 처리하는 과정에서 디스크에서 발생한 총 블록 I/O로, 디스크에 접근하여 데이터를 가져온 블록 수를 말한다.

물리적 I/O는 처리되는 시간이 느리다.

버퍼캐시 히트율(BCHR)

버퍼캐시가 히트되는 정도를 의미한다.

버퍼캐시 히트율을 구하는 공식은 아래와 같다.

(논리적 블록 읽기 - 물리적 블록 읽기) / 논리적 블록 읽기 * 100

(버퍼캐시에서 곧바로 찾은 블록 수 / 총 읽은 블록 수) * 100

물리적 I/O = 논리적 I/O * (100 - BCHR)

BCHR은 시스템 상황에 따라 가변적이다. 하지만 논리적 I/O는 항상 일정하게 발생하고 튜닝을 통해 통제가 가능하다.

위 공식에서 3번째 공식을 보면 알 수 있듯이 물리적 I/O를 줄이기 위해선 논리적 I/O를 줄여야 한다.

profile
야크 털 깎기와 러버덕 디버깅을 좋아하는 개발자

0개의 댓글