≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > SQL Server

SQL Server 高速缓存依赖分析

人气:498 时间:2019-06-01

这篇文章主要为大家详细介绍了SQL Server 高速缓存依赖分析,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

一,使数据库支持SQL高速缓存依赖性。
二,使表支持SQL高速缓存依赖性。
三,在ASP.NET应用程序的web.config文件中包含SQL连接字符串。
四,以如下方式利用SQL高速缓存依赖性:
     1)在代码中编程创建一个SqlCacheDependency对象。
     2)给OutputCache指令添加SqlCacheDependency属性。
     3)通过Response.AddCacheDependency给Response对象添加一SqlCacheDependency实例。

开启高速缓存依赖性的参数简要说明
-d <database>     用于SQL高速缓存依赖性的数据库名。数据库可以使用连接字符串和-c选项指定(必选)
-ed               允许数据库启用SQL高速缓存依赖性。
-dd               禁止数据库启用SQL高速缓存依赖性。
-et               允许表启用SQL高速缓存依赖性。需要-t选项。
-dt               禁止表启用SQL高速缓存依赖性。需要 -t 选项。
-t <table>         支持或禁止SQL高速缓存依赖性的表名。需要 -et 或 -dt 选项。
-lt               列出所有启用SQL高速缓存依赖性的表。

在SQL Server 2000中使用高速缓存禁用功能(在2005中也可以进行如下设置)
要在SQL 2000中使用高速缓存禁用功能,必须执行如下两步:
第一步是使相应的数据库支持该功能。
第二步是使要使用的表支持该功能。
例:
aspnet_regsql -S localhost -U sa -P sa -d Northwind -ed
注:将本机上的Northwind数据库开启高速缓存依赖功能。
aspnet_regsql -S localhost -U sa -P sa -d Northwind -dd
注:禁用本机上的Northwind数据库的高速缓存依赖功能。使用次命令后,数据库中的所有表的高速缓存禁用功能都自动关闭,AspNet_SqlCacheTablesForChangeNotification表也会自动删除。
开启表的高速缓存依赖功能。
例:
aspnet_regsql -S localhost -U sa -P sa -d Northwind -t Products -et
注:为Northwind数据库中的Products表开启高速缓存依赖功能。
aspnet_regsql -S localhost -U sa -P sa -d Northwind -t Products -dt
注:为 Northwind数据库中的Products表关闭高速缓存依赖功能。通过这个方法可以为一个数据库中的一个或多个表开启高速缓存依赖功能。为数据库和表开启高速缓存依赖功能后,可以发现Northwind数据库中添加了一个 AspNet_SqlCacheTablesForChangeNotification表,表示配置成功了。
aspnet_regsql -S localhost -U sa -P sa -d Northwind -lt
使用-lt参数可以查看该数据库中哪些表开启了高速缓存依赖功能。如果数据库关闭了高速缓存依赖或者没有启用高速缓存依赖功能,使用此命令将会得到错误提示。

关于SQL 2005的高速缓存禁用功能
SQL Server 2005支持高速缓存的编程和声明技术。在OupputCache指令中使用CommandNotification字符串就可以给页面建立基于通知的高速缓存。可以编程指定SQL高速缓存选项,或声明该选项,但不能同时使用这两种方法。SQL2005的缓存依赖无需web.config的配置,也不用为数据库和表开启缓存依赖功能,由于05内置了一个通知传递服务,该服务可以实现检测数据的更改、实现更改通知传递等功能,因此不需要不断轮询数据库来检测数据更新了。
注:虽然05中的缓存依赖使用很简单,但目前我还没有找到更多的相关资料,还没有亲自进行测试,主要原因还没搞清楚怎么才能开启Broker服务,以后有时间在进行测试吧。

配置ASP.NET应用程序
使用数据库和其中的几个表支持SQL Server高速缓存禁用功能后,就要为SQL Server高速缓存禁用功能配置应用程序。
要配置应用程序,以使用SQL Server高速缓存禁用功能,首先应修改web.config文件。在此文件中,指定要使用的数据库,并让ASP.NET连接它。
如:
    <connectionStrings>
         <add name="NorthwindConnectionString" connectionString="Data Source=.;Initial Catalog=Northwind;User ID=sa;Password=sa"
             providerName="System.Data.SqlClient" />
     </connectionStrings>
     <system.web>
      <caching>
         <sqlCacheDependency enabled="true" pollTime="500">
           <databases>
             <clear/>
             <add name="Northwind" connectionStringName ="NorthwindConnectionString" pollTime="500"/>
           </databases>
         </sqlCacheDependency>
       </caching>
     </system.web>
注:首先使用web.config文件中的<connectionStrings>元素,建立了与数据库的连接字符串。然后通过<caching>元素为SQL Server高速缓存功能进行配置。要是使用SQL Server高速缓存依赖性,所以必须使用<sqlCacheDependency enabled="true">节点,并启用该功能。在<databases>节点中引用数据库。
<add>元素中的属性说明:
name:为SQL Server数据库提供一个标识符。
connectionStringName:指定连接的名称。
pollTime:指定SQL Server轮流检测的时间间隔,默认为5秒或500毫秒。SQL 2005通知功能不需要这个属性。
web.config 文件配置正确后,就可以在页面上使用SQL Server高速缓存禁用功能了。ASP.NET会把SQL Server请求放在AspNet_SqlCacheTablesForChangeNotification表的一个完全不同的线程上,看看 changeId号是否递增了,如果该数字有变化,ASP.NET就知道对底层的SQL Server表进行了修改,应检索一个新的结果集。它确定是否应进行SQL Server调用时,对AspNet_SqlCacheTablesForChangeNotification表的请求会得到一个结果,启动了SQL Server高速缓存禁用功能后,这些执行得非常快。

为页面添加多个表,如下(用分号隔开):
<%@ OutputCache Duration="3600" VaryByParam="none" SqlDependency="Northwind:Employees;Northwind:Customers" %>

本文来自:http://www.q1010.com/179/7535-0.html

注:关于SQL Server 高速缓存依赖分析的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:SQL SERVER

您可能感兴趣的文章

  • 用户"sa"登陆失败 SQLServer 错误18456的解决方法
  • SQL Server做购物车系统时利用到得几个sqlserver 存储过程
  • SQLServer 优化SQL语句 in 和not in的替代方案
  • win2003 安装 sqlserver 2005的方法
  • SQL Server当恢复sqlserver bak文件时,原始的用户无法删除的解决方法
  • SQL Server分页存储过程(三)在sqlserver中打造更加准确的分页结果
  • 分页存储过程(二)在sqlserver中返回更加准确的分页结果
  • SQLServer上查看SQL语句的执行时间的方法
  • SQL Server 2000数据库同步 同步两个SQLServer数据库的内容
  • SQLServer触发器创建、删除、修改、查看示例代码
上一篇:SQL Server 2005 行列转换实现方法
下一篇:SQL Server SQL语法 分隔符理解
热门文章
  • SQL Server SQL获取第一条记录的方法
  • SQL Server出现System.OutOfMemoryException异常的解决方法
  • SQL Server的 update from 语句的简单示例
  • SQL Server 数据库备份方法菜鸟教程
  • SQL Server 多表关联时在where语句中慎用trim()方法
  • SQL Server数据类型及长度限制详细说明
  • mybaits非配置原因,导致SqlSession was not registered for synchronization异常解析
  • SQL Server 收缩后对数据库的使用有影响吗?
  • SQL Server 格式导致的Excel导入sql出现异常的解决方法
  • SQL Server 连接服务器出现错误 7391的解决方法
  • 最新文章
    • SQL Server存储过程基本语法的简单示例
    • sql查询时增加自动编号和分页的简单示例
    • sql轻松应付百万数据的高效数据分页存储过程的简单示例
    • sql获取一条数据中所有字段的名称和值的实现方法
    • sql分割函数的简单示例
    • SQL Server异常捕获的简单示例
    • SQL SERVER回滚恢复误操作数据的实现方法
    • SQL Server函数或存储过程中抛出异常的实现方法
    • SQL Server创建数据库的完整代码
    • SQL Server创建数据库的命令用法示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。