NESTED LOOPS JOIN에 비효율이 많지 않은 경우 효과적이다

Driving Table 에서 추출된 데이터 건수와 최종 추출 데이터 건수의 차이가 크지 않는 SQL에 적용된 페이지 처리가 효과적이다.
예를 들어, A B C D 네 개의 테이블을 조인한 후 결과 데이터를 추출하는 SQL 이 있다고 가정 하자. 그리고 이 SQL 은 A 테이블에서 1,000,000 건을 추출하고, B 테이블과 조인 처리 후 1,000 건으로 감소하고, B 에서 추출된 1,000 건으로 C, D 테이블과 조인을 수행한 후 최종 1,000 건이 추출된다. 그런데 위에서 설명한 SQL 에 페이지 처리를 적용할 경우, 한 페이지에서 보여줘야 하는 데이터 건수에 비해 많은 I/O 처리량이 발생하여 효율적인 부분범위 처리가 되지 않을 수 있다. 왜냐하면, 한 페이지에서 보여줘야 하는 데이터는 SQL 의 ROWNUM 조건을 만족해야 하는데, Driving Table 에서 추출된 1,000,000 건 중 B, C, D 테이블과 조인에 성공하는 데이터 382는 1,000 건이므로, ROWNUM 조건을 만족하는 데이터를 추출하기 위해서 많은 데이터 처리가 필요하기 때문이다.
따라서 페이지 처리는 Driving Table 에서 추출된 데이터가 조인을 수행하면서 많이 줄어들지 않는 경우에 효율적이다.