0

几年前,在 StackOverflow 上提出了一个关于获取大队列中消息数量的问题。

当表超过 500k 行时,如何快速获取 Service Broker 队列的大小?

给出了查询底层 b 树的答案。

http://rusanu.com/2006/11/09/fast-way-to-check-message-count/

如果队列中有多个 MessageType,有没有办法使用 MessageType 过滤的计数对底层 b 树进行相同的查询?

我们可以这样做,但我们担心这会导致大型队列出现性能问题。

SELECT COUNT(*) FROM My_Queue WHERE message_type_name = 'MyMessageType'
4

1 回答 1

1

不 - b-tree 上的查询正在查看真实的数据结构(我们认为所有关系数据库都由表的概念组成,如果它本身,而不是下面的内容)。

过滤列中的值的唯一方法是对表运行查询 - 不幸的是。

于 2013-09-04T20:43:46.307 回答