実行計画メソッドの取得2-explain plan
1インストール
$ORACLE_HOME/rdbms/admin/utlxplan.sql(UNIX)スクリプトはテーブルを生成します.このプログラムはplan_という名前を作成します.テーブル
2運転
explain PLAN [ SET STATEMENT_ID [=] < string literal > ] [ INTO < table_name > ]
FOR < sql_statement >
次のようになります.
STATEMENT_ID:現在の実行計画と同一PLANに格納されている他の実行計画を区別するユニークな文字列です.
TABLE_NAME:planテーブル名です.前に示したように、この名前を任意に設定できます.
SQL_STATEMENT:本物のSQL文です.
3運転
S
または
$ORACLE_HOME/rdbms/admin/utlxplan.sql(UNIX)スクリプトはテーブルを生成します.このプログラムはplan_という名前を作成します.テーブル
2運転
explain PLAN [ SET STATEMENT_ID [=] < string literal > ] [ INTO < table_name > ]
FOR < sql_statement >
次のようになります.
STATEMENT_ID:現在の実行計画と同一PLANに格納されている他の実行計画を区別するユニークな文字列です.
TABLE_NAME:planテーブル名です.前に示したように、この名前を任意に設定できます.
SQL_STATEMENT:本物のSQL文です.
3運転
S
QL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 272002086
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| DUAL | 1 | 2 | 2 (0)| 00:00:01 |
--------------------------------------------------------------------------
8 rows selected.
または
SELECT A.OPERATION,OPTIONS,OBJECT_NAME,OBJECT_TYPE,ID,PARENT_ID
FROM PLAN_TABLE a
WHERE STATEMENT_ID='laodao'
ORDER BY Id;