긍정적인 사고와 행동으로 선한 영향력을 줄 수 있도록

Database

배치 I/O

리거니 2025. 12. 4. 16:38

인덱스를 통한 Table Random Access는 Single Block I/O으로 작동하기에 엄청난 부하를 유발하는데, 심지어 버퍼 캐시 경유 비용 + 래치 경합까지 발생할 수 있어 로우가 많아 질수록 각종 Wait Event가 발생해 성능이 급격히 저하되었다.
-> 실행계획 : TABLE ACCESS BY INDEX ROWID BATCHED
-> 위 성능 개선을 위해 12c 부터 batch I/O 추가

BATCH I/O
1. 인덱스를 통해 버퍼 캐시에서 찾지 못하면 DISK I/O(TABLE SCAN) 했던 SINGLE I/O 방식이 아니라
2. DISK I/O 를 잠시 미루고 일정량 모은 뒤 일괄 처리 방식
* ROWID 로 버퍼 캐시 조회 -> 실패 시 ROWID 저장
* 위 과정 반복하여 ROWID 일정량 저장 후 블록 번호 정렬하여 Multi Block I/O 수행
* 다만 위 방식은 정렬이 되지 않음.

'Database' 카테고리의 다른 글

Sort Merge Join  (0) 2025.12.04
NL(Nested Loop) Join  (0) 2025.12.04
부분범위 처리  (0) 2025.12.04
다중 컬럼 인덱스(복합 인덱스)  (0) 2025.12.04
[Database] FTP & SFTP  (0) 2023.04.19