当前位置:  开发笔记 > 数据库 > 正文

SQL Cache依赖关系的性能问题

如何解决《SQLCache依赖关系的性能问题》经验,为你挑选了1个好方法。

我正在开发一个项目,我们正在考虑在SQL Server 2005/2008中使用SQLCacheDependency,我们想知道这将如何影响系统的性能.

所以我们想知道以下问题

SQLCacheDependency对象(查询通知)的数量是否会对SQL Server性能产生负面影响,即对受影响的表进行插入,更新和删除操作?

单个表上的50000个不同查询通知在SQL Server 2005/2008中对该表的插入和删除有什么影响(性能方面).

有没有关于如何使用SQLCacheDependencies的建议?任何官方的做什么和不该做什么?我们在互联网上找到了一些信息,但没有找到有关性能影响的信息.

如果这里有人对这些问题有一些答案,那就太好了.



1> Rasshme Chaw..:

使用轮询机制的SQL Cache依赖项不应该是sql server或应用程序服务器上的负载.

让我们看看sqlcachedependency工作和分析它们的所有步骤:

    为sqlcachedependency启用了数据库.

    表格为sqlcachedependency启用了"Employee".(可以是任意数量的表)

    更新Web.config以启用sqlcachedependency.

    配置了使用sql缓存依赖关系的页面.而已.

内部:

步骤1.在数据库中创建一个表'ASPnet_sqlcachetablesforchangenotification',它将存储启用了sqlcachedependency的'Employee'表名.并添加一些存储过程.

步骤2.在'ASPnet_sqlcachetablesforchangenotification'表中插入'Employee'表条目.还在此"Employee"表上创建插入更新删除触发器.

步骤3.通过提供connectionstring和polltime来启用sqlcachedependency的应用程序.

只要"员工"表中发生更改,就会触发触发器,该触发器会更新"ASPnet_sqlcachetablesforchangenotification"表.现在应用程序轮询数据库说每隔5000毫秒,并检查"ASPnet_sqlcachetablesforchangenotification"表的任何更改.如果有任何更改,则从内存中删除相应的缓存.

缓存的巨大好处与数据的新鲜度相结合(最近的数据可能是5秒陈旧).轮询由后台进程处理,不应成为性能障碍.因为正如你从上面列表中看到的那样,任务对CPU的要求最低.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有