ホームページ  >  記事  >  データベース  >  Oracle ストアド プロシージャの実行計画を読み取る方法

Oracle ストアド プロシージャの実行計画を読み取る方法

下次还敢
下次还敢オリジナル
2024-04-18 22:18:17866ブラウズ

Oracle ストアド プロシージャの実行計画は、アクセス パス、推定行数、接続順序、コストなどの実行情報を提供します。実行計画を表示するには、EXPLAIN PLAN コマンドを実行し、「実行計画」セクションを探します。実行プランにはヘッダーと本文が含まれており、ID、操作タイプ、行数、コスト、アクセス パス、フィルター条件、関連するテーブルとインデックス、接続がある場合は接続シーケンスが詳細に表示されます。

Oracle ストアド プロシージャの実行計画を読み取る方法

#Oracle ストアド プロシージャの実行計画の表示

Oracle ストアド プロシージャの実行計画では、ストアド プロシージャの実行方法に関する情報が提供されます。以下を含む詳細な分析情報:

  • アクセス パス: テーブル スキャンやインデックス ルックアップなどのデータへのアクセスに使用されるパス
  • rows: アクセス パスごとに処理される推定行数
  • 接続順序: ストアド プロシージャで接続が実行される順序
  • #コスト:
  • 実行計画の推定コスト
計画を実行する手順を表示します:

    EXPLAIN を実行します。 PLAN コマンド:
  1. <code class="sql">EXPLAIN PLAN FOR <存储过程名称>;</code>
    「実行計画」セクションを探します:
  1. 結果には「実行計画」が含まれます「」セクションには、実行計画の詳細が表示されます。

実行計画の理解:

ヘッダー:

    ID:
  • アクセス パスID
  • 操作:
  • 操作のタイプ (テーブル スキャンやインデックス ルックアップなど)
  • 行:
  • 推定行数
  • コスト:
  • 推定コスト
テキスト:

    アクセス パス:
  • データ パスへのアクセスに使用されます。
  • フィルター:
  • データに適用されるフィルター
  • テーブル:
  • 関連するテーブル
  • インデックス:
  • 使用する場合、使用されるインデックス
  • CONNECT BY:
  • ストアド プロシージャに接続が含まれる場合、接続順序が表示されます
実行プランの例 :

<code class="sql">EXPLAIN PLAN FOR get_customer_orders;
   ID | Operation                             | Rows  | Cost
  ----|----------------------------------------|-------|-----
    0  | SELECT STATEMENT                       | 1000  | 100
    1  |  TABLE ACCESS FULL                    | 1000  | 100
         |   ORDER_HDR                           |</code>
この実行プランは次のことを示しています:

ストアド プロシージャ
    get_customer_orders
  • ORDER_HDR テーブルにアクセスします。 アクセス パスはテーブル スキャンです。つまり、テーブル全体がスキャンされます。
  • 推定行数は 1000、推定コストは 100 です。

以上がOracle ストアド プロシージャの実行計画を読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。