개요
SQL 실행계획은 데이터베이스 옵티마이저가 쿼리를 어떻게 수행할지 보여주는 중요한 정보입니다.
실행계획은 여러 방식으로 확인할 수 있는데, 그 중 TYPE2는 실제 쿼리를 수행하면서, 옵티마이저가 예측한 실행계획과 함께 자원 사용량을 보여줍니다.
즉, 단순한 예측을 보여주는 예측실행계획(Type1)과 달리 실행 결과를 반영한 통계를 함께 확인할 수 있습니다.
방법
사용 방법
TYPE2 실행계획은 autotrace 옵션을 다음과 같이 설정합니다.
set autot on;
SQL
복사
사용 예제
아래는 TYPE1 예측 실행계획 방식으로 확인한 실행계획 예제입니다.
실제 쿼리를 실행하고, 실행계획과 자원 사용량을 동시에 출력합니다.
set autot on;
320 rows selected.
SQL ID: 18014398509482111
Plan hash value: 599365533
Execution Plan
----------------------------------------------------------------------------------
1 INDEX JOIN (Cost:740, %%CPU:1, Rows:92)
2 TABLE ACCESS (FULL): SUBQUERY_T2 (Cost:565, %%CPU:1, Rows:5)
3 TABLE ACCESS (ROWID): SUBQUERY_T1 (Cost:35, %%CPU:0, Rows:11)
4 INDEX (RANGE SCAN): SUBQUERY_T1_IDX_01 (Cost:3, %%CPU:0, Rows:32)
Predicate Information
---------------------------------------------------------------------------------
2 - filter: ("T2"."C3" <= :3) AND ("T2"."C3" >= :2) (0.000 * 1.000)
3 - filter: ("T1"."C6" <= :1) AND ("T1"."C6" >= :0) (0.599 * 0.600)
4 - access: ("T1"."C4" = "T2"."C1") (0.000)
NAME VALUE
------------------------------ ----------
db block gets 18
consistent gets 1789
physical reads 7
redo size 0
sorts (disk) 0
sorts (memory) 0
rows processed 320
SQL
복사