-1

Oracle DBMS の特定のテーブルにデータを書き込む必要があるアプリケーションがあります。ただし、テーブルに書き込む前に、書き込むデータに対して特定の操作を行います。

現在、この「データの操作」をアプリケーションから取り除き、この責任を ORACLE DBMS のストアド プロシージャに委任することを計画しています。一方、彼らの手順は、さまざまな組み込み関数と明示的に記述された関数の助けを借りて、その仕事を行います。

今、私の懸念は、ORACLE DBMS での「プロシージャの実行」がどれほど効率的かということです。私は、オラクルがストアドプロシージャからインラインでさまざまな関数呼び出しを呼び出すと仮定していますが、子プロセスの一部としてそれらの呼び出しを行うことは絶対にありません。 -手順。

注: このプロシージャは 1 日を通して呼び出され、数十万行が更新されます。これにより、このストアド プロシージャのパフォーマンスがアプリケーションにとって非常に重要になります。

操作がアプリケーションの一部である場合と比較して、一般的なストアド プロシージャのパフォーマンスについてコメントしていただけますか。

編集: 操作は、マップからいくつかの値を取り出して照合し、テーブルの特定の列で更新​​するのと同じくらい簡単です。

どうもありがとう、マウィア

4

1 に答える 1

3

PL/SQL コードは、アプリケーションよりも短い待機時間でデータにアクセスします。適切な方法に従っていれば、問題が発生する可能性はほとんどありません。可能な限り SQL で行い、明示カーソルではなく暗黙カーソルを使用します。

于 2012-12-12T11:55:59.550 に答える