4

100000回呼び出される関数として5行のコードがあります.PL/SQLで呼び出しのオーバーヘッドが発生しないように、関数をインラインにする方法があります. 私が使用しているバージョンは Oracle 9i です。

更新: コードのインラインはあまり改善されていませんが、2 秒短縮されました。現在、pl/sql で float データ型の効率的なバージョンを探しています。BINARY FLOAT が機能しませんでした。NUMBER(10,5) は既に使用されているものです。

4

1 に答える 1

1

関数呼び出しのオーバーヘッドがパフォーマンスの問題に大きく寄与していないと判断したため、ここではインライン展開は役に立ちません。

PL/SQLでSQLを実行したり、SQL関数を呼び出したりしていないと思いますか? もしそうなら、私は次にそこを見ます。

次のオプションはネイティブ コンパイルです。詳細については、ネイティブ実行用の PL/SQL コードのコンパイルを参照してください。数学だけをしているので、いくらか改善されるかもしれません。

それ以外の場合は、PL/SQL の先を見る必要があるかもしれません。C、C++、Java など、他の多くの言語で記述されたコードを PL/SQL から呼び出すことができます。詳細については、外部プロシージャの呼び出しを参照してください。

于 2010-04-27T01:35:47.080 に答える