私は現在、新しいレコードの挿入についてテーブルを監視し、各行の電子メール通知を送信する必要がある電子メール アプリケーションに取り組んでいます。現時点では、変更 (挿入) の割合は低いですが、最終的にはそれ以上になるでしょう。
最初は、SQL Server ジョブを使用して 3 ~ 5 分ごとにクエリを実行することを考えていましたが、調べてみましたSqlDependency
が、SQL 依存関係/クエリ通知が私の要件に適したオプションになるかどうかはわかりません。
1 分ごとに挿入がある場合は、3 ~ 5 分ごとではなく、1 分ごとにテーブルをポーリングします。通知を即座に取得して電子メール通知を送信できることを理解してSqlDependency
いますが、頻繁にポーリングすることでパフォーマンスに影響を与えたくありません。最終的には 1 分以内に 10K の挿入が発生し、他のジョブと this の間の輻輳についてはわかりませんSqlDependency
。
特定の事前定義された間隔で SQL Server ジョブのポーリングを行うことを考えています。何か考えや提案はありますか?誰かが以前に同じ状況に直面したことがあるはずです。フィードバックをお待ちしております。ありがとう
もう 1 つの質問 ピーク時には、クエリ通知後 1 分ごとにテーブルをポーリングしても問題ありませんが、処理中に挿入されたレコードはどうなりますか (選択/電子メールの送信/更新)。次のレコードが正しく挿入されるまで通知されないと思いますか?