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チューニングを実施してください。