메뉴 건너뛰기

bysql.net

1. 쿼리 변환이란?

2011.05.01 23:06

실천하자 조회 수:6051

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
  • 문서의 잘못된 점이나 질문사항은 본 문서에 댓글로 남겨주세요. ^^


번호 제목 글쓴이 날짜 조회 수
60 진행기록 운영자 2011.08.22 4282
59 1. 기본 개념 멋진넘 2011.06.28 14486
58 1. 테이블 파티셔닝 suspace 2011.06.21 7905
57 7장. 병렬 처리 운영자 2011.06.14 5563
56 6장. 파티셔닝 운영자 2011.06.14 4126
55 5장. 소트 튜닝 운영자 2011.06.14 4246
54 4장. 쿼리 변환 운영자 2011.06.14 4080
53 3장. 옵티마이저 원리 운영자 2011.06.14 4097
52 1. 소트 수행 원리 file 휘휘 2011.06.12 6841
» 1. 쿼리 변환이란? 실천하자 2011.05.01 6051
50 1. 옵티마이저 file 실천하자 2011.04.17 12348
49 1. Nested Loops 조인 file suspace 2011.03.22 10594
48 2장. 조인 원리와 활용 운영자 2011.03.22 4294
47 1. 인덱스 구조 [1] file 실천하자 2011.02.16 15194
46 1장. 인덱스 원리와 활용 운영자 2011.06.14 6557
45 온라인 OT 및 스터디 툴 사용 방법 file 휘휘 2011.02.16 4323
44 Front Page file 운영자 2011.02.15 150376
43 2. 인덱스 기본 원리 실천하자 2011.02.20 4383
42 2. 소트 머지 조인 file 실천하자 2011.03.22 6951
41 2. 옵티마이저 행동에 영향을 미치는 요소 휘휘 2011.04.17 6231