"튜닝 쿼리 변형"의 두 판 사이의 차이
DB CAFE
(새 문서: == 쿼리 변환 종류 == # 10g부터는 서브쿼리 Unnesting과 뷰 Merging이 비용기반 쿼리 변환으로 전환됨 # 조건절 Pushing 중 조인 조건 pushdown도 비용...) |
(→서브쿼리 Unnesting) |
||
4번째 줄: | 4번째 줄: | ||
# 나머지는 변환된 쿼리가 항상 더 나은 성능을 제공하므로 비용기반으로 전환이 불필요 | # 나머지는 변환된 쿼리가 항상 더 나은 성능을 제공하므로 비용기반으로 전환이 불필요 | ||
=== 서브쿼리 Unnesting === | === 서브쿼리 Unnesting === | ||
+ | # 옵티마이져가 동일한 결과를 보장하는 조인문으로 변환하고 나서 최적화 하는것 이를 '서브쿼리 Unnesting' 이라고 함. | ||
+ | # 서브쿼리를 메인쿼리와 같은 레벨로 풀어 내서 다양한 엑세스 경로와 조인 메소드를 평가 할수 있음. | ||
+ | # 옵티마이저는 조인 형태로 변환했을때 더 나은 실행계획을 찾을 가능성이 높아니다. | ||
+ | |||
=== 뷰 Merging === | === 뷰 Merging === | ||
=== 조건절 Pushing=== | === 조건절 Pushing=== |
2021년 5월 24일 (월) 16:30 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 쿼리 변환 종류[편집]
- 10g부터는 서브쿼리 Unnesting과 뷰 Merging이 비용기반 쿼리 변환으로 전환됨
- 조건절 Pushing 중 조인 조건 pushdown도 비용기반 쿼리 변화으로 전환
- 나머지는 변환된 쿼리가 항상 더 나은 성능을 제공하므로 비용기반으로 전환이 불필요
1.1 서브쿼리 Unnesting[편집]
- 옵티마이져가 동일한 결과를 보장하는 조인문으로 변환하고 나서 최적화 하는것 이를 '서브쿼리 Unnesting' 이라고 함.
- 서브쿼리를 메인쿼리와 같은 레벨로 풀어 내서 다양한 엑세스 경로와 조인 메소드를 평가 할수 있음.
- 옵티마이저는 조인 형태로 변환했을때 더 나은 실행계획을 찾을 가능성이 높아니다.