1

重複の可能性:
複数の Oracle トリガーを統合します。パフォーマンスへの影響はありますか?

質問: (パフォーマンスの点で) どれが最適ですか? 複数のトリガー(約 7 ~ 10)を状況/目的ごとに 1 つ持つか、すべての状況を処理する1 つのトリガー(if などを使用)。

詳細: Oracle データベース をベースにしたエンタープライズ アプリケーションを開発しています。約 300 万行のテーブルが 1 つあります。これがアプリのベース テーブルです。また、トリガーのみで処理する必要がある状況がいくつかあります。IMHO、メンテナンスのために、複数のトリガーを用意することをお勧めします。しかし、パフォーマンスはどうですか?

4

2 に答える 2

0

複数のトリガーがどのように著しく高速に実行されるかわかりません。唯一のトレードオフは、条件付きロジックを実行せず、ほんのわずかな時間を節約することです。

これは本当に設計/メンテナンスの問題です...たとえば、タイミング情報を提供するためにコードを計測したいとします。トリガーが1つある場合は、1つのプログラムに入るだけで済みますが、トリガーが複数ある場合は、コードを計測するために複数の場所に移動します。

また、IF の代わりに CASE ステートメントを使用することを検討してください (はるかにクリーンで、読みやすく、維持しやすくなります)。

于 2012-11-02T12:10:32.933 に答える
0

私の場合、単一のトリガーは、複数の小さなトリガーよりもはるかに高速でした。なぜ私は知りません。

于 2012-11-01T06:29:18.147 に答える