Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

.NET SqlDependency с много известия срещу високоскоростно допитване?

SqlDependency само ще ви уведоми, че е настъпила промяна и ще трябва да прочетете отново цялата таблица. Работи добре с нисък процент на известия. При висока скорост трябва да имате предвид, че уведомленията имат значителна цена. Вижте Мистериозното известие за повече подробности как работи SqlDependency. Както можете да видите, има значителни разходи:

  • настройване на известието (записване в sys.dm_qn_subscriptions и в SSB системни таблици)
  • задействане на известието (записване на sys.dm_qn_subscriptions)
  • доставяне на известието (записва в SSB системни таблици, целева опашка)
  • получаване на известието (записва в целевата опашка, SSB системни таблици)

Това са доста написани, цената ще се увеличи бързо, ако получавате известия постоянно.

Но истинският въпрос е как точно искате да реагирате в приложението на постоянен темп на промяна? какво искате да знаете, това нещо променени? добре, знаете, винаги го прави, всеки път, когато приложението има нужда от данните, по-добре да прочете най-новото състояние, защото със сигурност се промени. Анкетата също няма смисъл. Звучи сякаш това, което наистина искате, е или промяна проследяване или, по-вероятно, персонализирана опашка от промени захранвани от инициаторите на промяната.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на съхранени процедури на SQL Server от Python (pyodbc)

  2. Как да получите списък с всички ограничения за проверка в базата данни на SQL Server - SQL Server / TSQL урок, част 85

  3. Достигане на ограничението от 2100 параметър (SQL Server) при използване на Contains()

  4. Създайте задание за агент на SQL Server с помощта на SSMS

  5. ExecuteScalar срещу ExecuteNonQuery при връщане на стойност на идентичност