数年前、StackOverflow で、大きなキュー内のメッセージ数の取得について質問がありました。
テーブルが 50 万行を超える場合、Service Broker Queue のサイズをすばやく取得するにはどうすればよいですか?
基礎となる b ツリーを照会するための回答が与えられました。
http://rusanu.com/2006/11/09/fast-way-to-check-message-count/
キューに複数の MessageTypes がある場合、MessageType によってフィルター処理されたカウントを使用して、基になる b ツリーに対して同じクエリを実行する方法はありますか?
この方法で実行できますが、大きなキューでパフォーマンスの問題が発生する可能性があることを懸念しています.
SELECT COUNT(*) FROM My_Queue WHERE message_type_name = 'MyMessageType'