0

したがって、sqlplusを使用して実行プランを調べるのはかなり新しいです。私が通常行うことは次のとおりです。

set timing on;
set autotrace on;
"sql statement goes here"

これは通常、単純な/単独のSQLステートメントに対して行われ、ストアドプロシージャに対して同じことを行うことはできないことを理解しています。

しかし、ストアドプロシージャからすべてのSQLステートメントを取り出してスクリプトに配置し、次々に実行するのではないかと考えていました。または、手順全体を実行します。各実行プランをtxtファイルに記録して、表示できるようにする方法はありますか?

または、ストアドプロシージャの実行プランを確認する方法はありますか?

ヘルプや提案は大歓迎です。ありがとうございました

4

1 に答える 1

0

私はこれを試していませんが、できると思います。DBMS_XPLAN.DISPLAY_CURSORは、sql_idで機能します。プロシージャ内のDMLステートメントのsql_idを検索する必要があります。これは少し面倒かもしれませんが、キャッシュに十分長く留まる必要があると思います。

PL / SQLブロックのパフォーマンスをプロファイリングしようとしている場合は、DBMS_PROFILERも確認することをお勧めします。

于 2012-05-24T01:31:17.823 に答える