강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
autotrace사용
조회 : 2,932  


autotrace는 옵티마이저의 실행계획을  질의를 실행시마다 함께 보여줍니다.
질의의 실행계획을 알아냄으로써 질의의 성능을 파악하는데 도움이 될 것입니다.


SQL> connect kang/xxxxxxx@kang (자신의 계정으로 실행)
연결되었습니다.

SQL> start c:orant dbmsadminutlxplan.sql

SQL> connect sys/xxxxxxxx (관리자로 로그인하여 실행)
연결되었습니다.

SQL> start c:orantsqlplusadminplustrce.sql

SQL> drop role plustrace;
drop role plustrace
*
1행에 오류:
ORA-01919: 롤 'PLUSTRACE'(이)가 존재하지 않습니다


SQL> create role plustrace;

롤이 생성되었습니다.

SQL> 
SQL> grant select on v_$sesstat to plustrace;

권한이 부여되었습니다.

SQL> grant select on v_$statname to plustrace;

권한이 부여되었습니다.

SQL> grant select on v_$session to plustrace;

권한이 부여되었습니다.

SQL> grant plustrace to dba with admin option;

권한이 부여되었습니다.

SQL> 

SQL> set echo off

SQL> grant plustrace to kang;

권한이 부여되었습니다.

SQL> connect kang/xxxxxx
연결되었습니다.
SQL> set autotrace on        질의를 할때마다 실행계획을 보여주게 함
SQL> create table test (
2 name varchar(10),
3 age number(3)
4 );

테이블이 생성되었습니다.

SQL> insert into test values('강명규', 27);

1 개의 행이 만들어졌습니다.


Execution Plan
----------------------------------------------------------
0 INSERT STATEMENT Optimizer=CHOOSE




Statistics
----------------------------------------------------------
2 recursive calls
8 db block gets
2 consistent gets
0 physical reads
664 redo size
851 bytes sent via SQL*Net to client
562 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
2 sorts (memory)
0 sorts (disk)
1 rows processed

SQL> select * from test;

NAME AGE
---------- ----------
강명규 27


Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (FULL) OF 'TEST'       
음 질의가 테이블 full스캔을 하는군.. 보통 이런 질의를 하는 것은 좋지 않겠죠?




Statistics
----------------------------------------------------------
0 recursive calls
4 db block gets
1 consistent gets
0 physical reads
0 redo size
425 bytes sent via SQL*Net to client
424 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed

질의에 대한 Execution Plan은 다음에 설명드리겠습니다.

Copyleft(C) 명규의 오라클OCP All rights free



[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=736


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
(주) 수퍼유저