본문 바로가기
IT/SQLP

[Oracle]오라클 실행계획 보는 법, SQL 튜닝 기초

by by디디 2022. 6. 23.
반응형

오라클 실행계획 보는 방법에 대해서 설명드릴게요.

오라클 실행계획을 왜 봐야 할까요? 

내가 실행한 SQL이 내부적으로 어떤 방식으로 조인을 하고 어떤 인덱스를 사용했는지 확인을 해야 튜닝 포인트를 알 수 있기 때문입니다.

 

실행계획 이란?

  • Sql Statement이 요구한 데이터를 추출하기 위해 DBMS가 차례로 수행하는 Access 과정
  • 통계정보를 기반으로 다양한 Access Path를 수립하고 그중 Cost가 가장 낮은 Access Path를 결정 
  • 옵티마이저에 의한 Plan이 잘못 수립될 가능성이 있기에 이해하고 제어가 필요함

 

 실행계획 보는 법

오라클 실행계획
오라클 실행계획

상하 레벨은 간에는 "ID가 낮은 거" 먼저, 동급 레벨은 "ID가 높은 거" 먼저

실행계획 보는 법
실행계획 보는 법

그럼 전체적인 순서는 3번 > 2번 > 5번 > 4번 > 1번 순으로 실행됩니다.

 

퀴즈를 한번 풀어볼까요?

SELECT  /*+ LEADING(B A) USE_NL(A) */
        A.EMPNO, A.ENAME, B.DNAME
FROM    EMP A
     ,  DEPT B
WHERE   A.DEPTNO = B.DEPTNO
AND     A.EMPNO = '7369';

오라클 실행계획 보는법

이럴 때 어떤 순서대로 실행이 될까요??

정답은 접은 글에 올릴게요.

더보기
3 -> 4 -> 2 -> 5 -> 1

 

두번째 문제 입니다.

SELECT  /*+ INDEX(D DEPT_X01) */ *
FROM    DEPT D
WHERE   DNAME = 'SALES'
AND  EXISTS (
              SELECT  /*+ NO_UNNEST PUSH_SUBQ INDEX(D2 DEPT_X01) */ 'X'
              FROM   EMP E, DEPT D2
              WHERE  E.DEPTNO  = D.DEPTNO
              AND    E.DEPTNO  = D2.DEPTNO
              AND    D2.DNAME  = 'SALES'
              AND    E.JOB     = 'SALESMAN'
              AND    E.SAL     > 1000
             );

오라클 실행계획 보는 방법
오라클 실행계획 보는 방법

더보기

2 -> 6 -> 5 -> 7 -> 4 -> 8 -> 3 -> 1

 

실행계획 보는 방법 좀 이해 가셨나요??

여러번 해보면 쉽게 이해 하실거라 믿습니다.

반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

댓글