SQL 문장을 처리하는 과정에서 메모리 버퍼캐시에서 발생한 총 블록 I/O로, 메모리에 접근하여 데이터를 가져온 블록 수를 말한다.
물리적 I/O가 일어나더라도 메모리 버퍼캐시에 올라가서 처리되므로 SQL 문장을 처리하는 과정에서 발생한 모든 블록 개수로도 볼 수 있다.
SQL 문장을 처리하는 과정에서 디스크에서 발생한 총 블록 I/O로, 디스크에 접근하여 데이터를 가져온 블록 수를 말한다.
물리적 I/O는 처리되는 시간이 느리다.
버퍼캐시가 히트되는 정도를 의미한다.
버퍼캐시 히트율을 구하는 공식은 아래와 같다.
(논리적 블록 읽기 - 물리적 블록 읽기) / 논리적 블록 읽기 * 100
(버퍼캐시에서 곧바로 찾은 블록 수 / 총 읽은 블록 수) * 100
물리적 I/O = 논리적 I/O * (100 - BCHR)
BCHR은 시스템 상황에 따라 가변적이다. 하지만 논리적 I/O는 항상 일정하게 발생하고 튜닝을 통해 통제가 가능하다.
위 공식에서 3번째 공식을 보면 알 수 있듯이 물리적 I/O를 줄이기 위해선 논리적 I/O를 줄여야 한다.