간단명료

실행계획 종류(EXPLAIN PLAN, SET AUTOTRACE) 본문

SQL/업무에 바로 쓰는 SQL튜닝 입문

실행계획 종류(EXPLAIN PLAN, SET AUTOTRACE)

FeelGoood 2022. 3. 26. 10:18

실행계획 확인 방법

1. EXPLAIN PLAN

  • SQL에 대한 실행계획만 확인할 수 있음.
  • 명령을 사용할 때 데이터를 처리하지 않음.
    • END유저에게 끼치는 영향이 없음.
    • 소요시간 측정 불가.
    • 데이터 처리과정있을 경우 I/O처리과정 읽지 않음.
    • SORTING 과정을 볼 수 없음.
EXPLAIN PLAN
SET STATEMENT_ID = 'TEST1' INTO PLAN_TABLE
FOR
SELECT .........

FOR 다음에 나오는 SELECT 문에 대한 실행계획이 'TEST1'에 저장 됨.

SELECT *
FROM TABLE(DBMS_XPLAN.DISPLAY ('PLAN_TABLE','TEST1','ALL'));

위 쿼리문을 통해 조회해야 함.

2. SET AUTOTRACE(주 사용)

  • EXPLAIN PLAN 명령과는 달리 한 번의 명령으로 여러 개의 SQL 대한 실행계획을 바로 볼 수 있음.
  • 다양하게 옵션을 사용할 수 있어서 여러 가지의 정보를 선택적으로 확인할 수 있음.
  • 선택적으로 데이터를 읽게 할 수 있음.
SET AUTOTRACE ON;
SELECT .......

SELECT 문의 데이터를 읽어들인 후 추출 결과, 실행계획, I/O정보가 나타난다.

AUTOTRACE 종류

SET AUTOTRACE ON;
--sql을 실제 수행하고 그 결과와 함계 실행계획 및 실행통계를 출력한다.

SET AUTOTRACE ON EXPLAIN;
--sql을 실제 수행하고 그 결과와 함께 실행 계획을 출력한다.

SET AUTOTRACE ON STATISTICS;
--sql을 실제 수행하고 그 결과와 함께 실행통계를 출력한다.

SET AUTOTRACE TRACEONLY;
--sql을 실제 수행하지만 그 결과는 출력하지 않고 실행계획과 통계만을 출력한다.

SET AUTOTRACE TRACEONLY EXPLAIN;
--sql을 실제 수행하지 않고 실행계획만을 출력한다.

SET AUTOTRACE TRACEONLY STATISTICS;
--sql을 실제 수행하지만 그 결과는 추력하지 않고 실행통계만을 출력한다.

SET AUTOTRACE OFF;
--autotrace 해제

​                                      

출처 : EZ Learning - [업무에 바로 쓰는 SQL튜닝 입문] 강의
728x90
반응형

'SQL > 업무에 바로 쓰는 SQL튜닝 입문' 카테고리의 다른 글

결합인덱스  (0) 2022.03.26
인덱스  (0) 2022.03.26
옵티마이저  (0) 2022.03.26
SQL 튜닝 강의 시험 오답  (0) 2022.03.25
EZ Learning. 업무에 바로 쓰는 SQL 튜닝 입문  (0) 2022.03.14
Comments