SqlDependency само ще ви уведоми, че е настъпила промяна и ще трябва да прочетете отново цялата таблица. Работи добре с нисък процент на известия. При висока скорост трябва да имате предвид, че уведомленията имат значителна цена. Вижте Мистериозното известие за повече подробности как работи SqlDependency. Както можете да видите, има значителни разходи:
- настройване на известието (записване в sys.dm_qn_subscriptions и в SSB системни таблици)
- задействане на известието (записване на sys.dm_qn_subscriptions)
- доставяне на известието (записва в SSB системни таблици, целева опашка)
- получаване на известието (записва в целевата опашка, SSB системни таблици)
Това са доста написани, цената ще се увеличи бързо, ако получавате известия постоянно.
Но истинският въпрос е как точно искате да реагирате в приложението на постоянен темп на промяна? какво искате да знаете, това нещо променени? добре, знаете, винаги го прави, всеки път, когато приложението има нужда от данните, по-добре да прочете най-новото състояние, защото със сигурност се промени. Анкетата също няма смисъл. Звучи сякаш това, което наистина искате, е или промяна проследяване или, по-вероятно, персонализирана опашка от промени захранвани от инициаторите на промяната.