1. 쿼리 변환이란?
2011.05.02 08:06
1. 쿼리변환
- C.J. Data 박사의 'An Introduction to Database System' 저서에서
간단한 SQL 하나를 52개의 다른 SQL문으로 표현이 가능한 것을 보여줌
- 결과는 동일하여도 SQL을 어떻게 작성하느냐에따라 성능에 차이 발생
→ 결과는 같지만 수행 속도의 차이 발생 (전제조건 : 쿼리 변환 작동 X)
- 애초 가장 좋은 성능 형태의 쿼리를 작성하면 좋지만 현실적으로 많지 않음
→ (쿼리 최적화 원리를 잘 아는 개발자가 흔치 않음)
- 최근 비용기반 옵티마이저는 사용자 SQL을 최적화에 유리한 형태로 재작성 작업을 우선 처리함
- Query Transformer 담당
- 쿼리변환(Query Transformer)이란?
- 쿼리 옵티마이저가 SQL을 분석하여 의미적으로 동일하면서도 더 나은 성능이 기대되는 형태로 재작성하는 것
- 쿼리변환 종류
- 서브쿼리 Unnesting
- 뷰 Merging
- 조건절 Pushing
- 조건절 이행
- 공통 표현식 제거
- Outer 조인을 Inner 조인으로 변환
- 실체화 뷰 쿼리로 재작성
- Start 변환
- Outer 조인 뷰에 대한 조인 조건 Pushdown
- OR-expansion
- 쿼리변환 방식
- 휴리스틱(Heuristic) 쿼리 변환
- 항상 더 나은 성능을 보일 것이라는 쿼리변환으로 일종의 규칙 기반 최적화 기법으로 볼 수 있음
- 9i 기준 (1 ~ 6번 해당)
- 10g 기준 (3번의 부분과, 4~6번 해당) : 변환 쿼리가 항상 더 나은 성능 제공으로 비용기반 전환 필요 X
- 비용기반(Cost-Based) 쿼리 변환
- 변화된 쿼리의 비용이 더 낮을 때만 사용하고 그렇지 않을 경우 원본 쿼리 그대로 최적화 수행
- 10g 부터 필요한 부분에 대해선 비용기반으로 개선 됨
- 오라클 고도화 원리와 해법 2 (bysql.net 2011년 1차 스터디)
- 작성자: 위충환 (실천하자)
- 최초작성일: 2011년 05월 01 일
- 본문서는 bysql.net 스터디 결과입니다 .본 문서를 인용하실때는 출처를 밝혀주세요. http://www.bysql.net
- 문서의 잘못된 점이나 질문사항은 본 문서에 댓글로 남겨주세요. ^^
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
20 | 5. 인덱스를 이용한 소트 연산 대체 | 멋진넘 | 2011.06.13 | 3356 |
19 | 6. IOT, 클러스터 테이블 활용 | 휘휘 | 2011.02.26 | 2753 |
18 | 6. 히스토그램 | 실천하자 | 2011.04.25 | 10923 |
17 | 6. 조인 제거 | 멋진넘 | 2011.05.30 | 4597 |
16 | 6. Sort Area를 적게 사용하도록 SQL 작성 | 실천하자 | 2011.06.14 | 8861 |
15 | 7. 인덱스 스캔 효율 [1] | 휘휘 | 2011.03.09 | 16909 |
14 | 7. 비용 | 휘휘 | 2011.05.03 | 6173 |
13 | 7. OR-Expansion | 멋진넘 | 2011.05.31 | 8720 |
12 | 7. Sort Area 크기 조정 | 실천하자 | 2011.06.14 | 15080 |
11 | 8. 인덱스 설계 | 멋진넘 | 2011.03.07 | 8345 |
10 | 7. 조인을 내포한 DML 튜닝 | 실천하자 | 2011.04.04 | 7177 |
9 | 8. 통계정보 Ⅱ [1] | 멋진넘 | 2011.04.30 | 31103 |
8 | 8. 공통 표현식 제거 | darkbeom | 2011.06.07 | 5223 |
7 | 9. 비트맵 인덱스 | 실천하자 | 2011.03.06 | 12356 |
6 | 8. 고급 조인 테크닉-1 [1] | darkbeom | 2011.04.04 | 13272 |
5 | 9. Outer 조인을 Inner 조인으로 변환 | darkbeom | 2011.06.07 | 7834 |
4 | 8. 고급 조인 테크닉-2 | suspace | 2011.04.05 | 7018 |
3 | 10. 실체화 뷰 쿼리로 재작성 | suspace | 2011.06.07 | 5531 |
2 | 11. 집합 연산을 조인으로 변환 | suspace | 2011.06.08 | 5994 |
1 | 12. 기타 쿼리 변환 [3] | 실천하자 | 2011.06.03 | 6646 |