본문 바로가기

카테고리 없음

Full Scan

*Multiblock I/O 단위가 16이라고 가정하겠습니다.

 

1. Full Scan(Full Table Scan, Index Fast Full Scan)할 때는 익스텐트 맵에 등록된 순서대로

한 블록씩 버퍼캐시에서 읽습니다.

2. 버퍼캐시에서 블록을 못 찾으면 바로 I/O Call 하지 않고 '디스크에서 읽어야 할 블록 목록'에 기록해 둡니다.

3. 목록에 16개 블록이 쌓이면, 16개 블록을 통째로 I/O Call 합니다.

4. 목록이 16개가 되기 전에 캐싱된 블록을 만나면, 그때까지 기록한 블록을 통째로 I/O Call 합니다.

5. 한 익스텐트 마지막 블록에 도달했는데 목록이 16개 미만이며, 다음 익스텐트로 건너가지 않고,

그때까지 기록한 블록들에 대해서만 I/O Call 합니다.

 

* 4번과 5번에서 목록에 1개만 기록된 상태라면 Single Block I/O(db file sequential read) 방식으로 처리합니다. 목록 2개

이상이 기록된 상태라면 Multi Block I/O(db file scattered read) 방식으로 처리합니다.