메뉴 건너뛰기

bysql.net

1. 쿼리 변환이란?

2011.05.02 08:06

실천하자 조회 수:4925

1. 쿼리변환


- C.J. Data 박사의 'An Introduction to Database System' 저서에서 

   간단한 SQL 하나를 52개의 다른 SQL문으로 표현이 가능한 것을 보여줌


- 결과는 동일하여도 SQL을 어떻게 작성하느냐에따라 성능에 차이 발생

   → 결과는 같지만 수행 속도의 차이 발생 (전제조건 : 쿼리 변환 작동 X)


- 애초 가장 좋은 성능 형태의 쿼리를 작성하면 좋지만 현실적으로 많지 않음

   → (쿼리 최적화 원리를 잘 아는 개발자가 흔치 않음)


- 최근 비용기반 옵티마이저는 사용자 SQL을 최적화에 유리한 형태로 재작성 작업을 우선 처리함


- Query Transformer 담당



  • 쿼리변환(Query Transformer)이란?
    • 쿼리 옵티마이저가 SQL을 분석하여 의미적으로 동일하면서도 더 나은 성능이 기대되는 형태로 재작성하는 것
    • 쿼리변환 종류

    1. 서브쿼리 Unnesting
    2. 뷰 Merging
    3. 조건절 Pushing
    4. 조건절 이행
    5. 공통 표현식 제거
    6. Outer 조인을 Inner 조인으로 변환
    7. 실체화 뷰 쿼리로 재작성
    8. Start 변환
    9. Outer 조인 뷰에 대한 조인 조건 Pushdown
    10. 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
  • 문서의 잘못된 점이나 질문사항은 본 문서에 댓글로 남겨주세요. ^^


번호 제목 글쓴이 날짜 조회 수
40 10. 실체화 뷰 쿼리로 재작성 suspace 2011.06.07 5530
39 9. Outer 조인을 Inner 조인으로 변환 darkbeom 2011.06.07 7834
38 8. 공통 표현식 제거 darkbeom 2011.06.07 5218
37 12. 기타 쿼리 변환 [3] 실천하자 2011.06.03 6645
36 4. 조건절 Pushing 실천하자 2011.05.31 7018
35 7. OR-Expansion 멋진넘 2011.05.31 8717
34 6. 조인 제거 멋진넘 2011.05.30 4592
33 5. 조건절 이행 휘휘 2011.05.30 5406
32 2. 서브쿼리 Unnesting darkbeom 2011.05.16 19699
31 3. 뷰 Merging 실천하자 2011.05.15 23377
30 7. 비용 휘휘 2011.05.03 6166
» 1. 쿼리 변환이란? 실천하자 2011.05.02 4925
28 8. 통계정보 Ⅱ [1] 멋진넘 2011.04.30 31058
27 5. 카디널리티 suspace 2011.04.26 5953
26 4. 통계정보 Ⅰ darkbeom 2011.04.26 18086
25 6. 히스토그램 실천하자 2011.04.25 10917
24 3. 옵티마이저의 한계 멋진넘 2011.04.19 7856
23 1. 옵티마이저 file 실천하자 2011.04.18 11210
22 2. 옵티마이저 행동에 영향을 미치는 요소 휘휘 2011.04.18 5091
21 8. 고급 조인 테크닉-2 file suspace 2011.04.05 7014