쿼리 변환의 종류 

  ● 서브쿼리 Unnesting 

  ● 뷰 Merging 

  ● 조건절 Pushing

  ● 조건절 이행 

  ● 공통 표현식 제거 

  ● outer 조인을 Inner 조인으로 변환 

  ● 실체화 뷰 쿼리로 재작성 

  ● star 변환 

  ● outer 조인 뷰에 대한 조인 조건 Pushdown 

  ● or-expansion

 - 오라클 9i 기준 10가지 중 1~6까지는 휴리스틱 쿼리 변환에 해당, 7~10은 비용기반 쿼리 변환 

 - 10g부터는 서브쿼리 Unnesting과 뷰 Merging이 비용기반 쿼리 변환으로 전환됨 

   조건절 Pushing 중 조인 조건 pushdown도 비용기반 쿼리 변화으로 전화 

   나머지는 변환된 쿼리가 하상 더 나은 성능을 제공하므로 비용기반으로 전환이 불필요, 

   결론적으로 말해, 필요한 부분에 대해선 이미 비용기반으로 모두 개선이 이루어진 셈이다. 


쿼리 변환 두 가지 방식 

  ● 휴리스틱 쿼리 변환 : 결과만 보장된다면 무조건 쿼리 변환을 수행 

  ● 비용기반 쿼리 변환 : 변환된 쿼리의 비용이 더 낮을 때만 그것을 사요하고, 

                                   그렇지 않을 때는 원본 쿼리 그대로 두고 최적화를 수행한다. 

'ORACLE > SQLP' 카테고리의 다른 글

성능고도화 4-3. 뷰 Merging  (0) 2016.12.26
성능고도화 4-2 서브쿼리 Unnesting  (1) 2016.12.26
성능고도화 3-8. 통계정보2  (0) 2016.12.26
성능고도화 3-7. 비용  (0) 2016.12.26
성능고도화 3-6 히스토그램  (0) 2016.12.26

+ Recent posts