gpt4 book ai didi

sql - SQL缓存依赖关系的性能问题

转载 作者:行者123 更新时间:2023-12-03 11:58:25 24 4
gpt4 key购买 nike

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

所以我们想知道以下问题

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

例如,在单个表上的50000个不同的查询通知在SQL Server 2005/2008中对插入和删除该表有什么影响(从性能 Angular 而言)。

是否有关于如何使用SQLCacheDependencies的建议?有官员做与不做吗?我们在互联网上找到了一些信息,但没有发现有关性能影响的信息。

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

最佳答案

使用轮询机制的SQL Cache依赖关系不应成为sql服务器或应用程序服务器上的负载。

让我们看看有什么所有步骤可以使sqlcachedependency起作用并进行分析:

  • 为sqlcachedependency启用了数据库。
  • 一个表说“雇员”已启用sqlcachedependency。 (可以是任意数量的表)
  • Web.config已更新,以启用sqlcachedependency。
  • 配置使用sql缓存依赖项的页面。
    而已。

  • 内部:
  • 步骤1.在数据库中创建一个表'ASPnet_sqlcachetablesforchangenotification',该表将存储启用了sqlcachedependency的'Employee'表名。并添加一些存储过程。
  • 步骤2。在“ASPnet_sqlcachetablesforchangenotification”表中插入“Employee”表项。还在此“雇员”表上创建一个插入更新删除触发器。
  • 步骤3.通过提供connectionstring和polltime为sqlcachedependency启用应用程序。

  • 只要“雇员”表中发生更改,就会触发触发器,从而更新“ASPnet_sqlcachetablesforchangenotification”表。
    现在,应用程序每隔5000毫秒轮询一次数据库,并检查“ASPnet_sqlcachetablesforchangenotification”表是否有任何更改。如果有任何更改,将从内存中删除相应的缓存。

    缓存的巨大好处与数据的新鲜度结合在一起(最多5秒钟是陈旧的数据)。轮询是由后台进程执行的,不应成为性能障碍。因为从上面的列表中可以看出,该任务对CPU的要求最低。

    关于sql - SQL缓存依赖关系的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642848/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com