SELECT * FROM ORDER;
-무조건으로 데이블의 첫 번째 블록을 스캔한 모든 로우들을 그대로 운반단위로 보내서 바로 추출
SELECT * FROM ORDER
ORDER BY ITEM;
-오랜 시간이 지나서야 첫 번째 운반단위가 추출됨(전체 테이블을 모두 액세스하여 임시 저장공간에 저장하고 정렬시킨 후 하나의 운반단위를 추출)
SELECT * FROM ORDER
WHERE ITEM > ' ';
-옵티마이져 목표가 'ALL_ROWS'가 아니라면 ITEM인덱스를 사용하는 실행계획을 수립하며 부분범위 처리
-옵티마이져 목표가 'ALL_ROWS'였다면 전체 테이블을 스캔하는 실행계획(정렬순으로 추출되지 않음)
ALL_ROWS일때
SELECT /*+ index( order item_index ) */ *
FROM ORDER
WHERE ITEM > ' '
-힌트를 사용하여 인덱스를 사용하게 유도
SELECT *
FROM ORDER
WHERE ordno between 1 and 1000
AND custno like 'DN%';
SELECT *
FROM ORDER
WHERE ordno between 1 and 1000
AND custno like 'DN%';
액세스 주관조건의 범위 | 검증조건의 범위 | 수행속도 | 조치사항 |
---|---|---|---|
좁다 | 좁다 | 양호 | |
좁다 | 넓다 | 양호 | |
넓다 | 좁다 | 불량 | 주관조건과 검증조건 역할 교체 |
넓다 | 넓다 | 양호 |
- 강좌 URL : http://www.gurubee.net/lecture/2620
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.