SqlCacheDependency с помощью уведомлений компонента Service Broker - ВЫБИРАЙТЕ ТОЛЬКО ЧУВСТВИТЕЛЬНО к определенным столбцам
Можно ли определить уведомление о SELECT, но таким образом: брокер сбросит кэш только в том случае, если изменились столбцы, записанные в select. Так что колонка чувствительна. Я не хочу, чтобы кэш сбрасывался при изменении какого-то неважного столбца в таблице. У меня будет SELECT с INNER JOIN.
Заранее спасибо за помощь.
1 ответ
Теория гласит, что если вы ограничиваете свои столбцы SELECT, чтобы они содержали только интересующие вас столбцы, вы должны получать уведомления только в случае изменения этих столбцов. Однако, Понимание, Когда Уведомления Запроса Происходят, имеет это предупреждение:
Обратите внимание, что SQL Server может выдавать уведомление о запросе в ответ на события, которые не изменяют данные, или в ответ на изменение, которое фактически не влияет на результаты запроса. Например, когда инструкция UPDATE изменяет одну из строк, возвращаемых запросом, уведомление может сработать, даже если обновление строки не изменило столбцы в результатах запроса.
Таким образом, вы получите ложные срабатывания.