1

間違っている場合は修正してください。

トリガーについて私が知っていることは、イベント (挿入、更新、削除) によってトリガーされるということです。したがって、トリガーでストアドプロシージャなどを実行できます。

これにより、アプリケーションの応答性が向上します。ユーザーがやり取りするクエリは非常に小さく、この「その他の」時間がかかるものは、サーバーによって別のタスクとして内部的に処理されるためです。

しかし、トリガーがサーバー内でどのように処理されるかについてはわかりません。私が正確に知りたいのは、以下に示すシナリオで何が起こるかです。

トリガーの後に挿入します。そして、テイクトリガーは、より長いストアドプロシージャを実行しています。次に、トリガーの途中で別の挿入が可能です。私が知りたいのは、その 2 番目のトリガーがどうなるかです。可能であれば、2 番目のトリガー自体を無視できますか。

4

1 に答える 1

2

marc_s が正しい答えを出しました。完全を期すためにコピーします。

トリガーは同期的です

非同期機能が必要な場合は、SQL ブローカーの実装を使用してください。

トリガーはイベントによってトリガーされ、すぐに実行されます。いつ、どのくらいの頻度でトリガーされるかを制御できないため、これらのトリガーでの処理を最小限に抑える必要があります。 「コマンド」テーブルへの「マーカー」行。しかし、その情報の実際の処理 (ストアド プロシージャの実行など) は、外部の仕事に任せるべきです。トリガーで大規模な処理を行わないでください。これにより、すべてのパフォーマンス\応答性が確実に失われます。

于 2012-12-12T17:27:08.443 に答える