주니봉
  • 실행계획 확인하기
    2017년 04월 07일 21시 51분 07초에 업로드 된 글입니다.
    작성자: 봉주니

    1. 쿼리 실행 전 STATISTICS_LEVEL을 ALL로 변경

    2. 실행계획을 보고자하는 쿼리 실행

    3. 하단 V$SQL에서 방금 돌린 쿼리를 검색하여 SQL_ID, CHILD_NUMBER를 확인

      + PARSING_SCHEMA_NAME은 해당 스키마명, MODULE은 알고있다면 쓰는게 좋으며(TOAD 등), SQL TEXT는 쿼리내용 입력(일부분만)

    4. dbms_xplan.display_cursor를 이용하여 SQL_ID, CHILD_NUMBER 입력 후 쿼리실행

    5. 실행계획 확인 후 STATISTICS_LEVEL을 BASIC로 변경

    PS. SQL_ID, CHILD_NUMBER를 NULL로 할 경우 최근 실행된 쿼리의 실행계획을 보여준다.

        단, 운영중인 시스템에서는 사용이 힘들다.(마지막 실행된 쿼리가 계속 바뀌기 때문)

    */


    ALTER SESSION SET STATISTICS_LEVEL = ALL;


    select * from table(dbms_xplan.display_cursor(/*SQL_ID*/'',/*CHILD_NUMBER*/'0','ALLSTATS LAST'));


    ALTER SESSION SET STATISTICS_LEVEL = BASIC;


    /*예시*/


    SELECT COUNT(2) FROM TN_PW00_APT_CD;


    SELECT SUBSTR(SQL_TEXT, 1, 100) SQL_TEXT, SQL_ID, CHILD_NUMBER

    FROM V$SQL

    WHERE PARSING_SCHEMA_NAME = 'CITYWASTE'

    AND MODULE = 'SQL Developer'

    AND SQL_TEXT LIKE '%SELECT A.CTZN_SRNO%'

    ;


    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(/*SQL_ID*/'fyaw7c6z5t935',/*CHILD_NUMBER*/'0','ALLSTATS LAST'));



    출처: http://ghgame.tistory.com/entry/예측-실행계획-실제-실행계획-및-Trace-확인법 [광훨's 게임블로그]

    반응형

    'Oracle' 카테고리의 다른 글

    Insert 시 & 대체 변수 입력  (0) 2019.08.06
    mybatis like #  (0) 2019.05.08
    ROW_NUMBER()  (0) 2019.04.15
    ORACLE SYNONYM(시노님)  (0) 2019.04.15
    해당 연도의 첫날과 마지막날 표시  (0) 2016.05.03
    댓글