study:oracle:datadb:3week_1:03
3.2.3. 연산방식에 따른 실행계획
3.2.3.1. IN-List 탐침 실행계획
BETWEEN = 선분 → RANG SCAN
IN = 점 → EQUAL SCAN
IN-LIST ITERATOR의 특징
COL1 IN (1,2) AND COL2 =10 ⇒ ((COL1=1 AND COL2=10) OR COL1=2 AND COL2=10)
옵티마이져는 IN을 OR 형태로 변형하여 실행계획을 수립
IN절에 비교값이 하나만 사용될 경우 INLIST ITERATOR 실행계획은 발생되지 않음
3.2.3.3. 원격(Remote) 실행계획
원격실행계획?
데이터베이스 링크(DATABASE LINK)를 통한 액세스
물리적 : 다른 데이터베이스, 논리적 : 같은 데이터베이스로 인식
옵티마이져의 성향
CBO상황에서 원격 테이블의 통계정보를 고려하여 로컬 테이블의 실행계획을 수립
원격 테이블의 실행계획을 생성하지는 않음
수행된 쿼리에 사용된 모든 테이블이 동일한 원격지의 테이블들이라면 전체 쿼리에 대한 결과만 리턴
실행계획 확인하는 습관이 원격실행계획에서는 반드시 필요함
3.2.3.7. 차집합(Minus) 실행계획
어느 한쪽의 집합을 기준으로 다른 집합의 요소들을 제거
서브쿼리, 인라인뷰, DISTNCT등을 사용하여 동일한 결과 보장 가능
SELECT-LIST에 나타난 모든 컬럼들의 유일집합을 만들기 위해 MERGE작업과 유사한 실행계획 출력
SORT(UNIQUE)
단, 기본키 ‘=‘(EQUAL) 액세스는 SORT(UNIQUE)가 발생하지 않음
study/oracle/datadb/3week_1/03.txt · 마지막으로 수정됨: 2010/05/19 16:11 저자 gwgwg