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을 해야하는 지에
대한 선택을 더 현명하게 하도록 했다는 것이다.