부분범위 처리의 개념
전체범위처리 : 드라이빙 조건을 만족하는 범위를 모두 스캔하여 체크조건 검증한 후 임시 저장공간에 저장 후 운반단위만큼 추출
부분범위처리 : 드라이빙 조건을 만족하는 범위를 차례로 스캔하면서 체크조건 검증하여 일단 운반단위만큼만 추출
Survey 를 우선 전체범위 엑세스하고, 그 결과와 DA100T 를 부분범위 처리로 NL 조인
전체범위 처리 :
sort : 하위단계는 전체범위 처리
view : 내부적으로 임시 저장공간 쓰기 작업
sort (unique) , sort (join) , sort (aggregate) , sort (order by) , sort (group by) , merge join
hash join
부분범위 처리 :
where 절 없이 대용량 테이블을 처리하더라도 즉각 결과를 추출할수 있음
Trace 의 Execute , Fetch 라인의 Query, Disk, Current 값이 테이블 블록 수보다 훨씬 적을경우
부분범위 처리의 자격 :
논리적으로 전체범위를 읽어서 가공해야만 하는 경우를 제외한 모든 형태에서 부분범위 처리 가능
- Select list , where 절 그룹 함수 : sum , count
- order by : 드라이빙 역활 인덱스와 order by 컬럼이 동일하면 부분범위 처리 가능
- sort 수행 : 실행 계획에 sort 수행시 전체범위 처리
- union : union all 사용으로 부분범위 처리 가능
- minus : exists , in 서브쿼리로 세미조인 사용하여 부분처리가능
- intersect : 전체범위 엑세스 -> sort (unique) -> merge
부분범위 처리의 수행속도 향상원리
엑세스 주관조건의 범위가 좁을수록 일 량 감소, 체크조건의 대상범위가 넓을수록 일량감소
-엑세스 주관 컬럼의 처리범위는 좁을수록 유리
-엑세스 주관 컬럼의 범위가 넓어도 체크조건을 만족하는 범위가 넓다면 유리
-엑세스 주관 컬럼의 범위가 넓고, 체크조건의 범위가 좁을 경우 역활 변경
-부분범위의 양호한 수행속도 보장을 위하여 부분범위처리로의 유도 방법 필요
부분범위처리로의 유도
-엑세스 경로를 이용한 sort 대체
-인덱스만 처리하는 부분범위 처리
-min, max 의 처리
-filter 형 부분범위 처리
-rownum 을 이용한 부분범위 처리
-인라인뷰를 이용한 부분범위 처리
-저장형 함수를 이용한 부분범위 처리
-쿼리 이원화를 이용한 부분범위 처리
댓글 없음:
댓글 쓰기