通过Service Broker通知的SqlCacheDependency - 仅在特定列上选择敏感

时间:2013-02-14 13:37:28

标签: sql-server-2008 sql-server-2008-r2 service-broker sqlcachedependency

是否可以在SELECT上定义Notification,但是以这种方式:只有在select中写入的列发生更改时,Broker才会重置Cache。因此列敏感方法。如果表中的一些不重要的列被更改,我不希望缓存重置。我将选择INNER JOIN。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

理论上说,如果将SELECT列限制为仅包含感兴趣的列,则只有在这些列发生更改时才会通知您。但是Understanding When Query Notifications Occur有此警告:

  

请注意,SQL Server可能会生成一个查询通知以响应   不更改数据或响应更改的事件   实际上不会影响查询的结果。例如,何时   UPDATE语句更改查询返回的行之一   即使对行的更新没有改变,通知也可能会触发   查询结果中的列。

所以你得到误报。