Oracle でストアド プロシージャのコストを調べる方法があれば、誰か教えてもらえますか? 直接の方法がない場合は、代替手段を知りたいです。
私がコストを見つけた方法は、ストアド プロシージャで使用されるすべてのクエリの自動トレースを実行し、クエリの実行頻度に応じて proc コストを見積もることです。
それに加えて、ストアド プロシージャ、特に以下のクエリを最適化するための提案をお願いします。
プロシージャのロジック:
以下は、ストアド プロシージャでカーソルとして使用される動的 SQL クエリです。このカーソルは、ループ内で開かれ、フェッチされます。情報をフェッチして VARRAY に入れ、データをカウントしてからテーブルに挿入します。
私の目的は、proc のコストを調べ、sp を最適化することです。
SELECT DISTINCT acct_no
FROM raw
WHERE 1=1
AND code = ''' || code ||
''' AND qty < 0
AND acct_no
IN (SELECT acct_no FROM ' || table_name || ' WHERE counter =
(SELECT MAX(counter) FROM ' || table_name || '))