概要
実行計画は、SQLが実行される手順。
統計情報をもとに、最短で実行されるように計画される。
そのため、統計情報が最新でないと適切な実行計画が作成されない。
実行計画の確認方法
方法1.EXPLAN PLANを使用
実行したときの情報ではなく、Oracleが予測した情報のため、
実際に実行したときの実行計画と異なる場合がある。
--select文の解析 EXPLAIN PLAN FOR 確認したいselect文; --実行計画表示 SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
方法2.DISPLAY_CURSORを使用
実際にSQLを実行しているのでこっちのほうが精度が高い
--事前に権限の付与が必要 GRANT SELECT ON V_$SESSION TO ユーザー名; GRANT SELECT ON V_$SQL_PLAN TO ユーザー名; GRANT SELECT ON V_$SQL TO ユーザー名; GRANT SELECT ON V_$SQL_PLAN_STATISTICS_ALL TO ユーザー名;
--select文の実行 確認したいselect文; --実行計画表示 SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR()); --引数を指定しない場合は直近のSQLの実行計画を表示
実行計画の内容
インデックスが使用できている場合
インデックスが使用できていない場合(テーブルフルスキャン)