DROP INDEX emp_deptno_idx ;
연결고리가 되는 각 deptno 컬럼에는 인덱스가 없다. 어떠한 실행 계획 생성 되는가? 또한 Join 의 순서는 ?
SELECT *
FROM emp e, dept d
WHERE e.deptno = d.deptno ;
각각의 결과를 확인
SELECT /*+ ORDERED */ *
FROM emp e, dept d
WHERE e.deptno = d.deptno ;
SELECT /*+ USE_NL(e d) */ *
FROM emp e, dept d
WHERE e.deptno = d.deptno ;
SELECT /*+ USE_MERGE(e d) */ *
FROM emp e, dept d
WHERE e.deptno = d.deptno ;
SELECT /*+ USE_HASH(e d) */ *
FROM emp e, dept d
WHERE e.deptno = d.deptno ;
SELECT /*+ LEADING(e) */ *
FROM emp e, dept d
WHERE e.deptno = d.deptno ;
EXEC DBMS_STATS.GATHER_SCHEMA_STATS('HR') ;
SELECT *
FROM dept a
WHERE EXISTS ( SELECT /*+ HASH_SJ */ deptno
FROM emp
WHERE deptno = a.deptno ) ;
- 내부적으로 해시 조인 방식으로
SELECT *
FROM dept a
WHERE EXISTS ( SELECT /*+ MERGE_SJ */ deptno
FROM emp
WHERE deptno = a.deptno ) ;
SELECT *
FROM dept a
WHERE EXISTS ( SELECT /*+ NL_SJ */ deptno
FROM emp
WHERE deptno = a.deptno ) ;
'Tuning' 카테고리의 다른 글
| #sid (0) | 2008/12/12 |
|---|---|
| /* Histogram 활용 */ 실습 (0) | 2008/12/04 |
| /* Join 순서 및 작업에 대한 힌트 */ (0) | 2008/12/04 |
| /* Query 변환에 대한 힌트 */ (1) | 2008/12/04 |
| /* 액세스 경로에 대한 힌트 */ (2) | 2008/12/04 |
| 뷰 확인 (0) | 2008/11/26 |

댓글을 달아 주세요