SqlCacheDependency с помощью уведомлений компонента Service Broker - ВЫБИРАЙТЕ ТОЛЬКО ЧУВСТВИТЕЛЬНО к определенным столбцам

Можно ли определить уведомление о SELECT, но таким образом: брокер сбросит кэш только в том случае, если изменились столбцы, записанные в select. Так что колонка чувствительна. Я не хочу, чтобы кэш сбрасывался при изменении какого-то неважного столбца в таблице. У меня будет SELECT с INNER JOIN.

Заранее спасибо за помощь.

1 ответ

Решение

Теория гласит, что если вы ограничиваете свои столбцы SELECT, чтобы они содержали только интересующие вас столбцы, вы должны получать уведомления только в случае изменения этих столбцов. Однако, Понимание, Когда Уведомления Запроса Происходят, имеет это предупреждение:

Обратите внимание, что SQL Server может выдавать уведомление о запросе в ответ на события, которые не изменяют данные, или в ответ на изменение, которое фактически не влияет на результаты запроса. Например, когда инструкция UPDATE изменяет одну из строк, возвращаемых запросом, уведомление может сработать, даже если обновление строки не изменило столбцы в результатах запроса.

Таким образом, вы получите ложные срабатывания.

Другие вопросы по тегам