PR

Oracle Database SQLの実行計画(プラン)の確認方法

スポンサーリンク
ORACLE

Oracle DatabaseでSQL性能を確かめるために必ず見るのが実行計画です。

今回はSQLの実行計画の確認方法を紹介します。

SQL_IDの特定方法

以下の記事を参考に、V$SQLTEXTからSQL_IDを特定してください。

Oracle Database SQL_IDの確認方法
プランや性能情報を取得したい時に必要になるSQL_ID。SQL実行からSQL_IDを特定する方法を紹介します。

プランを確認

DBMS_XPLAN.DISPLAY_CURSORを使用して、SQLの実行計画を確認します。

以下は確認のために使用するSQLです。

select * from table (DBMS_XPLAN.DISPLAY_CURSOR(‘<SQL_ID>‘));

SQL> select * from table (DBMS_XPLAN.DISPLAY_CURSOR('1umgxqj7s5k7k'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID  1umgxqj7s5k7k, child number 0
-------------------------------------
select /* dekiruengineer.com */ sysdate from dual

Plan hash value: 1388734953

-----------------------------------------------------------------
| Id  | Operation        | Name | Rows  | Cost (%CPU)| Time     |
-----------------------------------------------------------------
|   0 | SELECT STATEMENT |      |       |     2 (100)|          |
|   1 |  FAST DUAL       |      |     1 |     2   (0)| 00:00:01 |

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
-----------------------------------------------------------------


13 rows selected.

SQLの実行計画について

今回はDUAL表への確認なのでプランは2行しか表示されていませんが、JOIN等複雑なSQLを組めばその分実行計画も複雑になります。

実行計画を基に適切なSQLチューニングを実施してください。