본문 바로가기
Language/SQL 튜닝

1장. [SQL 분석 도구] 1-5. DBMS_XPLAN 패키지

by RUCKUS 2021. 10. 7.

DBMS_XPLAN 란?

오라클 9? 버전부터 제공되는 패키지라고 한다. Plan_Table에 저장된 실행계획들을 좀 더 편하게 볼 수 있는 자체 라이브러리? 같은 거라고 생각하면 될 것 같다.

 

사용법

여러가지 방법이 있으나 다 요새는 대부분 10 이상 버전을 쓰기 때문에 기본적으로 Plan_Table과 Synonym이 생성되어 있다. 아래와 같은 방법을 사용하면 편하게 실행해 볼 수 있다.

 

  • 힌트 /*+ gather_plan_statistics */ 구문 추가
    select /*+ gather_plan_statistics */ * from 테이블
    통계를 보고자 하는 쿼리에  /*+ gather_plan_statistics */ 를 추가한다.
  • 세션 ALTER
    ALTER SESSION SET "_rowsource_execution_statistics" = true;
    ALTER SESSION SET statistics_level = all;​
     
  • 쿼리 수행 직후 실행계획 출력
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(NULL, NULL, 'ALLSTATS LAST'));​
    ALLSTATS LAST에서 LAST를 적어주지 않으면 해당 쿼리의 누적된 정보를 보여주게 된다. 그러니 일반적으로는 붙여주고 쿼리를 실행하여 해당 쿼리의 1회성 통계정보를 정확하게 수집하자.그리고 NULL, NULL의 의미는 각각 SQL_ID, CHILD_NO인데 두개 다 NULL을 넣으면 직전에 수행된 쿼리가 대상이 된다.