[DB Study] DBMS_XPLAN

Dae-Hee·2021년 3월 14일
1

Oracle Tuning Essential

목록 보기
4/6
post-thumbnail

[DB Study] DBMS_XPLAN 사용법

👉 DBMS_XPLAN 사용법

  1. 해당 객체 SELECT 권한 부여

    • V$SESSION
    • V$SQL_PLAN
    • V$SQL(optional)
    • V$SQL_PLAN_STATISTICS_ALL

  2. STATISTICS_LEVEL 수정

	ALTER SESSION SET STATISTICS_LEVEL = ALL;
  1. 쿼리 실행 계획 확인
    3.1. SQL 실행
    3.2. V$SQL 에서 SQL_ID 확인
    3.3. DBMS_XPLAN.DISPLAY_CURSOR 조회
	-- 1. 대상 SQL 실행
	SELECT * 
	  FROM DEPT;
	  
	-- 2. SQL_ID 조회
	SELECT SQL_ID
	     , SQL_TEXT 
          FROM V$SQL 
	 WHERE SQL_TEXT LIKE '%DEPT%'
         ORDER BY LAST_ACTIVE_TIME DESC;
	 
	 -- 3. XPLAN 확인
	 SELECT *
           FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('SQL_ID', 0, 'FORMAT'));

👉 FORMAT 옵션(실측 내용)

  1. ALLSTATS : 실제 액세스한 로우수와 수행시간 그리고 CR, PR, PW 정보를 보여준다. / 수행횟수에 따라 누적된 값을 보여준다.

  2. ALLSTATS LAST : 위와 동일

  3. ADVANCED ALLSTATS LAST : DBMS_XPLAN.DISPLAY_CURSOR에서 지원하는 모든 Format의 정보를 보여준다.


👉 PLAN 항목 내용

  1. Basics 항목
    1.1. ID : 각 Operationd의 ID (*이(가) 달려있는 경우 Filter에 관한 정보)
    1.2. Operation : 각 실행되는 JOB
    1.3. Name : Table 및 Index 명

  2. Query Optimizer Estimations 항목 (예상치)
    2.1. E-Rows : 각 Operation이 끝났을 때 return 되는 건
    2.2. E-Bytes : 각 Operation이 Temporany Space를 사용한 양
    2.3. Cost : CPU 자원 사용량
    2.4. E-Time : 수행시간

  3. Runtime Statistics 항목
    3.1. Starts : 각 Operation을 반복 수행한 건수
    3.2. A-Rows : 각 Operation이 return 한 건수
    3.3. A-Time : 실제 실행시간

  4. I/O Statistics
    4.1. Buffers : 각 Operation이 Memory에서 읽은 Block 수
    4.2. Reads : 각 Operation이 Disk에서 Read한 Block 수
    4.3. Writes : 각 Operation이 Disk에서 White한 Block 수

0개의 댓글