私はテーブルが250万行含まれています。各行にはxml型の列が1つあります。メッセージが別のキュー(トリガキュー)に到着すると、すべてのレコードを削除してsqlserverサービスブローカキューに格納する必要があります。パフォーマンスは非常に重要で、今は遅すぎます。これを達成する最良の方法は何でしょうか?大きなテーブルからssbキューの各行をエンキューします
begin transaction
delete top (1) from table output @tempTable
select top 1 @message = message from @tempTable
send on conversation @message
commit transaction
は、この問題に取り組むためのより高速な方法があります:
は、現在、我々は(@message <>ヌル)whileループにしtriggerqueue上で活性化SPを使うのか?ところで
:誰かが尋ねる前に:それは、以前の計算MERGE文からの出力で満たされているので、我々は、テーブルから起動する必要が