ORACLE·etc

Oracle optimizer goal, FIRST_ROWS 그리고 ALL_ROWS

administrators 2010. 2. 12. 14:30

■ ALL_ROWS

  - throughput 최대화를 위한 optimizing을 한다.

  - full table scan을 선호하는 경향이 있다.

  - batch 프로그램 또는 report 출력 프로그램에 사용되는게 좋다.

 

■ FIRST_ROWS 

  - response time 최소화를 위한 optimizing을 한다.

  - index scan을 선호하는 경향이 있다.

  - index scan을 선호하는 경향이 있기에 작은 테이블로부터 데이터를 찾을 때도 index scan을 해서

    full table scan을 하는 것보다 cost가 더 걸리는 단점이 있다.

  - user interaction 즉, 화면계에 사용하면 좋다.

 

■ FIRST_ROWS_N

  - Oracle 9i부터 도입된 파라미터.

  - FIRST_ROWS의 단점을 보안했다.

    단점이란, FIRST_ROWS_1, FIRST_ROWS_10, FIRST_ROWS_100, FIRST_ROWS_1000 처럼

    FIRST ROWS의 범위를 지정하도록 함으로써 index scan를 해야하는 지, full table scan을 해야하는 지에

    대한 선택을 더 현명하게 하도록 했다는 것이다.