Software Engineering/Etc

[OCP] 실행계획

HelloJaewon 2010. 1. 20. 09:58

실행계획
 - SQL SELECT 문장을 실행하면서 오라클이 내부적으로 어떠한 절차로 처리를 했는지에 대한 내용을 말한다.


이러한 내부처리결과는 기본적으로 보이지 않는데 SQL plus 에서 설정을 통해 이를 다양한 방법으로 확인할 수 있다.



SELECT를 수행하면서 내부처리를 STATEMENT_ID = 'demo1' 라고 기록하여 테이블에 저장한다.
그뒤 이 테이블을 SELECT 해서 결과를 확인하는 방법.

위의 방법은 2단계를 거침으로써 뭔가 불편해 보이는감이 있다.
SET AUTOTRACE ON 설정을 통해
SQL 실행결과와 그에대한 내부실행계획을 모두 보여주도록 한다.

무언가가 많이 나온다....

SET AUTOTRACE ON EXPLAIN
SET AUTOTRACE ON STATISTICS
SET AUTOTRACE TRACEONLY
SET AUTOTRACE TRACEONL EXPLAIN
등의 다양한 설정을 통해 원하는 결과만 골라서 볼수 있도록 할 수 가 있다.



이러한 실행계획은 SQL Tuining 할 때 SELECT 문을 오라클이 어떻게 내부적으로 처리하는지 다 분석함으로써
문제가 되는 FULL SCAN등 많은 시간이 걸리는 원인을 찾아내는데 쓰인다고 한다.