일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- php5
- MySQL
- grid
- rac
- perl string
- oracle
- SQL
- bash
- perl + 정규표현식
- Unix
- memory
- dba
- 오라클
- prompt
- Oracle RAC
- command & perl
- Network
- sqlplus
- RHEL4
- cygwin
- perl one-liner
- PERL
- mariaDB
- oracle install
- solaris network
- fdisk
- Linux
- patch
- 연산자
- solaris
Archives
- Today
- Total
DATA 전문가로 가는 길
[Oracle] SQL 실행 계획 확인 방법 1편 (Autotrace) 본문
1. SQL*Plus Autotrace 기능 활성화
1-1 EXPLAIN PLAN 이란?
사용자들이 SQL 문의 액세스 경로를 확인하고 튜닝을 할 수 있도록 SQL 문을 분석하고 해석하여 실행 계획을 수립한 후 실행 계획을 테이블(PLAN_TABLE)에 저장하도록 해주는 명령어 입니다.
SQL> conn / as sysdba Connected. SQL> @?/sqlplus/admin/plustrce.sql SQL> SQL> drop role plustrace; Role dropped. SQL> create role plustrace; Role created. SQL> SQL> grant select on v_$sesstat to plustrace; Grant succeeded. SQL> grant select on v_$statname to plustrace; Grant succeeded. SQL> grant select on v_$mystat to plustrace; Grant succeeded. SQL> grant plustrace to dba with admin option; Grant succeeded. SQL> SQL> set echo off
SQL> grant PLUSTRACE to scott; Grant succeeded.
SQL> conn scott/oracle Connected. SQL> @?/rdbms/admin/utlxplan.sql Table created.
2-1 Autotrace Mode 설정 SQL> show user; USER is "SCOTT" SQL> set autotrace on SQL> set autotrace traceonly SQL> set autotrace traceonly explain SQL> set autotrace traceonly statistics
SQL> conn scott/oracle Connected. SQL> select dname from dept; DNAME -------------- ACCOUNTING RESEARCH SALES OPERATIONS Execution Plan ---------------------------------------------------------- Plan hash value: 3383998547 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 4 | 40 | 3 (0)| 00:00:01 | | 1 | TABLE ACCESS FULL| DEPT | 4 | 40 | 3 (0)| 00:00:01 | -------------------------------------------------------------------------- Statistics ---------------------------------------------------------- 68 recursive calls 0 db block gets 22 consistent gets 8 physical reads 0 redo size 488 bytes sent via SQL*Net to client 385 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 4 rows processed
SQL> set autotrace off;
SQL 튜닝을 하게 되면 기본적을 가장 많이 사용 하는 방법 입니다. 다음은 SQL Trace의 기능에 대해서 설명 하도록 하겠습니다.
'Data Architecture > Tunning' 카테고리의 다른 글
[Oracle] Not Null 제약 조건에 따른 인덱스 실행 계획 (0) | 2015.12.23 |
---|---|
[Oracle] Blocking Lock 발생과 해결 방법 (0) | 2015.12.03 |
[Oracle] 데이터베이스 Call 최소화 원리 (0) | 2015.12.02 |
[Oracle] Oracle Cardinality(오라클 카디날리티) (0) | 2015.12.02 |
[Oracle] SQL 실행 계획 확인 방법 2편 (SQL Trace, TKPROF) (0) | 2011.03.31 |
Comments