Table Full Scan은 Sequential Access와 Multiblock I/O 방식으로 디스크 블록을 읽은 후 메모리에 적재한다.
Index Range Scan은 Random Access와 Singleblock I/O 방식으로 디스크 블록을 읽은 후 메모리에 적재한다.
Table Full Scan이 대용량 데이터 중 소수가 아닌 데이터를 읽을 때 더 유리하다.
Index Range Scan은 대용량 데이터 중 소수 데이터를 읽을 때 유리하다.
Table Full Scan이 더 효율적인 경우는 Sequential Access와 Multiblock I/O 때문이다. 소수가 아닌 데이터를 읽을 때 한 블록에서 한 레코드씩만 읽으면 인접한 레코드를 읽을 때도 다시 접근해야 한다. 또한 어차피 많은 데이터를 읽을 건데, 한 블록만 접근하는 것보다, 여러 블록에 접근하는 것이 더 낫다.
상황마다 다르지만 Index는 데이터에서 10%에서 15% 범위 내에서 설정하는 게 좋다. 이 범위에 대해선 다른 글에서 쓰겠다.