使用SQLDependency与表的定期轮询(性能影响)

时间:2013-01-07 20:42:14

标签: c# sql-server sqldependency

在我们的应用程序开发之初,我们非常重视使用SQLDependency来缓存数据库结果,直到通知告诉我们的应用程序获取新副本。

在测试期间,我们注意到sql db的性能受到sqldependency通知服务的打击。我们缩减了使用sqldependency的表的数量,并注意到性能的大幅提升。所以,我们认为我们刚刚过度使用它,我们继续前进。我们现在只有几张桌子了。

后来我们发现我们无法缩减将建立依赖关系的用户名的安全访问级别。我们可以为每个数据库设置多个连接字符串(一个用于依赖项,一个用于应用程序的其余部分)但是使用多个数据库和数据库镜像,这很痛苦(从sql db管理角度和应用程序开发)

此时我们正在考虑基于以下逻辑完全脱离SQLDependency:

  1. 我们不需要数据发生变化的“即时”通知。如果我们在1秒钟内知道,那就足够快了。
  2. 通过一些轻微的重新分解,我们可以将其降低到只有1个表并每秒轮询该表一次。
  3. 有没有人看到这个逻辑的缺陷?

    每秒轮询一个表会导致数据库上的负载比SQLDependency更多或更少吗?

    是否有人与SQLDependency有类似的性能问题?

0 个答案:

没有答案