디스크 I/O
。보조기억장치 또는 입출력 장치의 데이터 입출력을 담당
DB 성능 최적화에서 가장 중요한 성질
。상대적으로 속도가 느리므로 ( CPU보다 수천배 느림 ) 페이지폴트의 경우도 페이지 교체 알고리즘을 통해 디스크 I/O 빈도를 최대한 감소
。성능 증진 시 디스크 I/O의 빈도를 최대한 감소하며, 발생하는 디스크 I/O도 최대한 순차 I/O이어야한다
디스크 I/O 종류
。 랜덤 I/O , 순차 I/O
▶ 랜덤 I/O가 아닌 순차 I/O를 활용하면 검색속도가 획기적으로 빨라짐.
랜덤 I/O ( Random Input / Output )
。데이터를 찾을때 여러 위치를 랜덤하게 접근해서 읽는 방식
▶ 디스크 헤더가 여러곳을 찾아야하므로 속도가 감소
。커버링 인덱스를 사용 시 불필요한 랜덤 I/O를 감소시킬 수 있다.
데이터 조회속도를 느리게 만드는 주된원인
。DB에서 랜덤 I/O가 많아질수록 조회속도는 급격하게 저하

。데이터를 찾을 때 해당 디스크 헤더에서 트랙 상 하드웨어적으로 여러 위치를 조회해야하므로 매우 큰 조회시간이 소요
▶ 순차 I/O의 경우 연속적으로 읽게되므로 조회속도면에서 압도적으로 유리
순차 I/O ( Sequential Input / Output )
。연속된 데이터를 읽는 방식
▶ 랜덤 I/O와 달리 디스크 헤더를 통해 연속적으로 한번에 읽을 수 있어 빠르다.
- 커버링 인덱스를 사용 시
순차 I/O를 활용하여 랜덤I/O에 비해 쿼리실행시간을 대폭감소가능
。커버링 인덱스 사용 시 인덱스 테이블에서만 조회하므로 순차 I/O를 통해 디스크 I/O를 수행
▶ 인덱스 테이블과 데이터 테이블 모두 조회 시 랜덤 I/O로서 디스크 헤더가 트랙 상에 두 군데를 확인해야하므로 시간이 매우 소요됨.