CBQT 제어하기

  • 두 개의 파라미터를 이용하여 제어할 수 있음
    • _optimizer_cost_based_transformation
      ==> CBQT 의 동작을 제어함
      ==> Default는 Linear로 기본적으로 활성화 되어 있음. off로 변경하면 CBQT 가 비활성화 됨
    • _optimizer_pushed_pred_cost_based
      ==> Cost Based Join Predicate Pushing의 동작 여부를 지정함. False일 경우 비활성화 됨
  • Oracle 10.2.0.2에서는 다음과 같은 Paramter가 추가 되었음
    • _optimizer_connect_by_cost_cased
      ==> cost based connect by Transformation의 동작 여부를 지정함. Default는 True임
  • Query Transformation을 직접 제어하는 Hint들은 여전히 사용 가능하며, Hint가 Paramter 보다 우선 시됨
    • unnest/no_unnest subquery unnesting을 제어
    • Push_subq/no_push_subq subquery Pushing을 제어
    • merge/No_merge View Merging을 제어
    • push_pred/no_push_pred Join Predicate Pushing을 제어
  • no_query_Transformation: 모든 종류의 query Transformation을 비활성화 시킴
  • opt_param : query레벨에서 paramter를 제어 , Oracle 10g r2에서 추가되었음