sql >> Base de Datos >  >> RDS >> Sqlserver

¿Dependencia de .NET Sql con muchas notificaciones frente a encuestas de alta tasa?

SqlDependency solo le notificará que se produjo un cambio y tendrá que volver a leer la tabla completa. Funciona bien con una baja tasa de notificaciones. A un ritmo elevado, hay que tener en cuenta que las notificaciones tienen un coste importante. Consulte La notificación misteriosa para obtener más detalles sobre cómo funciona SqlDependency. Como puede ver, hay un costo significativo:

  • configurar la notificación (escribir en sys.dm_qn_subscriptions y en las tablas del sistema SSB)
  • disparar la notificación (escribir sys.dm_qn_subscriptions)
  • entregar la notificación (escribir en las tablas del sistema SSB, cola de destino)
  • recibir la notificación (escribir en la cola de destino, tablas del sistema SSB)

Son bastantes escrituras, el costo aumentará rápidamente si recibe notificaciones constantemente.

Pero la verdadera pregunta es ¿cómo exactamente desea que reaccione la aplicación a una tasa de cambio constante? que quieres saber, ese algo ¿cambió? bueno, ya sabes, siempre lo hace, cada vez que la aplicación necesita los datos, es mejor que lea el último estado, porque ciertamente cambió. Las encuestas tampoco tienen sentido. Parece que lo que realmente quiere es cambiar seguimiento o, más probablemente, una cola de cambios alimentado por los creadores del cambio.