Explain Plan은 SQL을 수행하기 전 데이터를 어떻게 가져올 건지에 대한 실행계획을 의미하며
이 실행계획을 확인 하고자 할때 Explain Plan For명령어를 사용
Explain Plan을 생성하려면 @?/rdbms/admin/utlxplan.sql 을 실행
Explain Plan For 명령어를 수행을 통해 Plan_Table에 실행계획을 저장 할 수 있음
SQL > set linesize 200
SQL > Explain plan set statement_id ='query1' for
2 select * from emp where empno = 7900;
해석되었습니다.
SQL > @?/rdbms/admin/utlxpls
SQL > plan_table_output
plan_table_output
-----------------------------------------------------------------------------
|ID | Operation | Name | Rows | Bytes | Cost (%CPU) |
-----------------------------------------------------------------------------
| 0| SELECT STATEMENT | | | 32| 1 (0)|
| 1| TABLE ACCESS BY INDEX ROWID |EMP | 1| 32| 1 (0)|
|* 2| INDEX UNIQUE SCAN |EMP_PK| 1| | 0 (0)|
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Predicate Information (identified by operation id):
-----------------------------------------------------------------------------
2- access("EMPNO"=7900)
Predicate Information 은 아래와 같이 세 가지 유형이 존재함
Explain Plan For 명령어를 통해 실행계획을 별도로 저장해 둔다면 이를 활용해 안정적인 시스템 운영 및 성능관리에 활용 할 수 있음
서적(오라클 성능 고도화 원리와해법 I) : http://book.daum.net/detail/book.do?bookid=KOR9788996246015