모든 I/O 는 블럭 단위로 발생이 됩니다.
모든 데이터는 버퍼를 통해 읽게 됩니다.
버퍼에 없으면 디스크에서 읽어서 버퍼로 올립니다.
테이블도, 인덱스도 블럭에 저장되어 있습니다.
블럭 안에는 하나의 레코드만 존재하는게 아닙니다.
정렬순서대로 클러스터링되어 있다면 하나의 블럭를 읽었을 때
원하는 데이터가 몰려 있으므로 효과가 좋습니다.
예를 들어 인덱스 키 1 부터 10 까지 10개를 읽으려고 하는데
이게 하나의 블럭에 몰려 있으면 블럭을 1번만 읽으면 되는데.
그렇지 않고 10개 블럭에 흩어져 있다면? 10개 블럭을 왔다갔다 하면서 읽어야 하는 거죠.