SQLD 요약(5)
▶옵티마이저 실행 게획 확인
DESC PLAN_TABLE;
▶옵티마이저 실행 방법 (2)
-비용 기반 옵티마이저
-규칙 기반 옵티마이저
▶옵티마이저 엔진 (3)
-Query Transformer
-Estimator
-Plan Generator
▶인덱스 생성
CREATE INDEX 인덱스 명
ON 테이블 명 (컬럼이름 정렬)
▶인덱스 스캔 (INDEX SCAN) (3)
-인덱스 유일 스캔 (INDEX UNIQUE SCAN)
-인덱스 범위 스캔 (INDEX RANGE SCAN)
-인덱스 전체 스캔 (INDEX FULL SCAN)
▶옵티마이저 우선순위 (15)
① RowID를 사용한 단일 행인 경우
② 클러스터 JOIN에 의한 단일 행인 경우
③ 유일하거나 기본키를 가진 해시 클러스터 키에 의한 단일 행인 경우
④ 유일하거나 기본키에 의한 단일 행인 경우
⑤ 클러스터 조인인 경우
⑥ 해시 클러스터 JOIN인 경우
⑦ 인덱스 클러스터 조인인 경우
⑧ 복합 칼럼 인덱스인 경우
⑨ 단일 컬럼 인덱스인 경우
⑩ 인덱스가 구성된 컬럼에서 제한된 범위를 검색하는 경우
⑪ 인덱스가 구성된 컬럼에서 무제한 범위를 검색하는 경우
⑫ Sort-Merge JOIN인 경우
⑬ 인덱스가 구성된 컬럼에서 MAX 혹은 MIN을 구하는 경우
⑭ 인덱스가 구성된 컬럼에서 ORDER BY를 실행하는 경우
⑮ 전체 테이블을 FULL TABLE SCAN 하는 경우
▶Optimizer JOIN (3)
-Nested Loop JOIN
-Sort Merge JOIN
-HASH JOIN
▶Optimizer JOIN HINT (3)
-/* + use_nl (테이블명) */
-/* + use_merge (테이블명) */
-/* + use_hash (테이블명) */
☆참고☆
▶JOIN 5가지 종류 (논리적 JOIN)
-INNER JOIN
-OUTER JOIN
-CROSS JOIN
-FULL OUTER JOIN
-SELF JOIN
☆참고☆
▶JOIN의 3가지 방식 (물리적 JOIN)
-Nested Loop JOIN
-Merge JOIN
-Hash JOIN
▶테이블 삭제 2가지
-DELETE FROM 테이블명;
-TRUNCATE TABLE 테이블명;