티스토리 뷰
OPERATION & OPTIONS
TABLE ACCESS
(FULL) - 테이블의 전체 row 에 대해 access 한다.
(BY INDEX ROWID) - Partition 되지 않은 index 를 통해 테이블의 row에 access 한다.
(CLUSTER) - Indexed cluster key를 통해 테이블의 row에 access 한다.
(BY ROWID RANGE) - Rowid 의 범위에 의해 테이블의 row에 access 한다.
(BY USER ROWID) - 사용자가 지정한 rowid 를 통해 테이블의 row에 access 한다.
(HASH) - Hash cluster key를 통해 테이블의 row에 access 한다.
(BY GLOBAL INDEX ROWID) - Partition 된 테이블에 대해 global index 를 통해 테이블의 row에 access 한다.
(BY LOCAL INDEX ROWID) - Partition 된 테이블에 대해 local index 를 통해 테이블의 row에 access 한다.
FILTER - WHERE 절에 정의된 조건으로 행을 걸러냄.
FIRST ROW - 조회 로우 중에 첫 번째 로우만 추출한다.
INDEX
(FULL SCAN) - 인덱스 테이블을 FUL SCAN하여 결과를 보여준다.
(UNIQUE SCAN) - Unique Index 를 통해 테이블의 row 에 access 한다.
(RANGE SCAN) - Index 의 특정 범위에 대한 테이블의 row 에 access 할 때.
(SKIP SCAN) - 결합인덱스에서 선행 컬럼을 건너뛰고 SCAN.
NESTED LOOPS
(무옵션) - 먼저 어떤 드라이빙 테이블의 로우를 액세스한 후 그 결과를 이용해 다른 테이블을 연결하는 조인
(OUTER) - 동일한 방법으로 OUTER JOIN을 한다.
MERGE JOIN
(무옵션) - 두 테이블을 읽어 sort한 후 서로 값을 비교해 나가는 방식
(OUTER) - 동일한 방법으로 OUTER JOIN을 한다.
HASH JOIN
(무옵션) - 데이터를 읽되 내부적으로 hash function을 이용하여 정렬한 후 JOIN 해나가는 방식.
(OUTER) - 동일한 방법으로 OUTER JOIN을 한다.
VIEW - 인라인뷰나 뷰에서 추출한다.
UNION - 중복 없는 합집합을 구한다.
MINUS - 차집합을 구하는는 경우
INTERSECTION - 교집합 추출. 중복값 없음.
FOR UPDATE - FOR UPDATE 절이 사용되어 lock 이 걸리는 경우.
SORT
(AGGREGATE) - 그룹함수를 사용하여 하나의 ROW를 추출
(UNIQUE) - 같은 ROW를 제거하기 위한 소트
(GROUP BY) - 액세스 결과를 GROUP BY하기 위한 소트
(JOIN) - MERGE JOIN을 하기 위한 소트
(ORDER BY) ORDER BY 절을 처리하기 위한 소트
