JOIN STATEMENT 작성 방법 & 서브 쿼리에서 구동 테이블 결정 원리
개발 및 관리/Oracle 9i, 10g, 11g, 12c, 19c 2011. 5. 31. 23:11반응형
1. JOIN STATEMENT 작성 방법
1) 조인에 참여하는 테이블과 인덱스에 대한 구조 분석(행수)
2) WHERE절에서 조건 검색되는 테이블 중에서 분포도가 좋은 컬럼의 테이블을 분석
3) 분포도가 좋은 컬럼의 테이블들 중에서 데이터량이 적은 테이블을 구동 테이블 후보로 선정
4) 인덱스의 유형을 분석한 후 Fast-Index Scan이 가능한지 여부를 검토. 가능하다면 SELECT List절의 컬럼을 결정.
5) 구동 테이블을 결정
6) 구동 테이블과 내부 테이블 간의 관계를 고려하여 순서를 결정
2. 서브 쿼리에서 구동 테이블 결정 원리
1) SUB_QUERY내에서 MAIN_QUERY의 컬럼이 없으면 SUB_QUERY가 먼저 수행될 수 있음.
2) SUB_QUERY의 수행결과에 비교되는 MAIN_QUERY 컬럼에 INDEX가 없으면 먼저 수행되지 않음.
3) EXISTS를 사용한 SUB_QUERY는 항상 나중에 수행
4) 먼저 수행되는 SUB_QUERY는 SORT(unique) 처리된 후 실행
반응형
'개발 및 관리 > Oracle 9i, 10g, 11g, 12c, 19c' 카테고리의 다른 글
올해에는 책 좀 읽어 보자~! (0) | 2011.06.18 |
---|---|
Oracle 관련 참고 링크들 (0) | 2011.05.31 |
조만간 혹은 머지 않아 보아야 할 책들~! (0) | 2011.05.30 |
오라클 테이블에서 열 삭제 (0) | 2011.05.12 |
세그먼트의 정의 및 유형 (0) | 2011.05.12 |