# sqlplus user_id/user_pass

SQL> @/oracle/product/9ir2/rdbms/admin/utlxplan.sql;

그럼 접속한 사용자 소유의 'PLAN_TABLE'이란 이름의 실행계획 테이블이 생성된다.

TOAD -> View -> Options -> Oracle -> Explain Plan Table name :현재 생성한 테이블 명입력하면 된다

물론 사용자마다 실행계획 테이블은 별도로 생성해 줘야한다.

테이블 생성 후 수행 속도 향상과 동일한 statement_id가 생성되는 것을  방지하기 위해 index를 생성 

SQL> CREATE UNIQUE INDEX plan_index ON PLAN_TABLE(statement_id,id); 


SQL> EXPLAIN PLAN SET STATEMENT_ID='a1' FOR select count(1) from WEB_Menu;
SQL> EXPLAIN PLAN SET STATEMENT_ID='a2' FOR select count(*) from WEB_Menu;


SQL> SELECT LPAD(operation,LENGTH(operation)+ 2*(LEVEL-1)) ||DECODE(id,0,'cost  estimate:' ||
       DECODE(position,'0','N/A',position),null) || ' ' ||options || DECODE(object_name,null,null,':') ||
       RPAD(object_owner, LENGTH(object_name)+1,',') || object_name ||
       DECODE (object_type,'UNIQUE' ,'(U) ','NON_UNIQUE','(NU)',null) || 
       DECODE(object_instance,null,null,'('||object_instance||')')  "Explain Plan"
       FROM PLAN_TABLE
       START WITH ID= 0 and STATEMENT_ID = '&&id'
       CONNECT by prior ID=PARENT_ID and STATEMENT_ID='&&id';