미해결 과제

  • 이 책에서 소개하지 못한 Query Transformation 이 존재할 것.
    ex) Oracle 11g R2 의 "_optimizer_distinct_placement" 파라미터 : Distinct Placement (DP) 를 Control 하는 것으로 예상된다.
  • 필자는 DP 의 기능은 아래 Query 1 이 Query 2 로 재작성 되는 것이라 예상한다.
  • QUERY 1

SELECT DISTINCT a.col1, a.col2, a.col3, b.col1, b.col2
   FROM a, b
  WHERE 조인조건 및 Filter조건

  • QUERY 2

SELECT a.col1, a.col2, a.col3, b.col1, b.col2
  FROM ( SELECT DISTINCT a.col1, a.col2, a.col3, ..생략
           FROM a ) a1, b
 WHERE 조인 조건 및 Filter  조건

  • Query 1 -> Query 2 로 변경되면, Distinct 부하가 되는 Sort + Unique 작업이 전체 집합이 아닌, a 테이블에 대해서만 적용되므로 성능향상을 기대할 수 있다.