ASP程序性能测试报告(五)

六、哪种游标类型和记录锁定方式效率最高?
   迄今为止的所有测试中我们只使用了“只能向前”的游标来访问记录集。ADO为记录集提供的游标还有三种类型:静态可滚动的游标,动态可滚动的游标,键集游标。每种游标都提供不同的功能,比如访问前一记录和后一记录、是否可以看到其他程序对数据的修改等。不过,具体讨论每一种游标类型的功用已经超出了本文的范围,下表是各种游标类型的一个比较性的分析。
   和“只能向前”类型的游标相比,所有其它的游标类型都需要额外的开销,而且这些游标在循环内一般也要慢一些。因此,我们愿与您共享如下告诫:永远不要这样认为——“唔,有时候我会用到动态游标,那么我就一直使用这种游标吧。”
   同样的看法也适用于记录锁定方式的选择。前面的测试只用到了只读的加锁方式,但还存在其他三种方式:保守式、开放式、开放式批处理方式。和游标类型一样,这些锁定方式为处理记录集数据提供了不同的功能和控制能力。
   我们得出如下规则:
l    使用适合于处理任务的最简单的游标类型和记录锁定方式。

时间: 2024-10-01 07:38:19

ASP程序性能测试报告(五)的相关文章

ASP程序性能测试报告

程序|性能 纲要:ASP动态生成的内容以什么方式输出效率最高?最好用哪种方法提取数据库记录集?本文测试了近20个这类ASP开发中常见的问题,测试工具所显示的时间告诉我们:这些通常可以想当然的问题不仅值得关注,而且还有出乎意料的秘密隐藏在内. 一.测试目的 本文的第一部分考察了ASP开发中的一些基本问题,给出了一些性能测试结果以帮助读者理解放入页面的代码到底对性能有什么影响.ADO是由Microsoft开发的一个通用.易用的数据库接口,事实证明通过ADO与数据库交互是ASP最重要的应用之一,在第二

ASP程序性能测试报告(四)

程序|性能 五.使用记录集时是否应该创建单独的连接对象? 要正确地回答这个问题,我们必须分析两种不同条件下的测试:第一,页面只有一个数据库事务:第二,页面有多个数据库事务. 在前例中,我们创建了一个单独的Connection对象并将它赋给Recordset的ActiveConnection属性.然而,如ADO__03.asp所示,我们也可以直接把连接串赋给ActiveConnection属性,在脚本中初始化和配置Connection对象这一额外的步骤可以省去. objRS.ActiveConne

ASP程序性能测试报告(七)

程序|性能 十.用哪种方法引用记录集字段值效率最高? 10.1 测试 至此为止我们一直通过名字引用记录集中的字段值.由于这种方法要求每次都必须寻找相应的字段,它的效率并不高.为证明这一点,下面这个测试中我们通过字段在集合中的索引引用它的值(ADO__08.asp):   'write data   Do While Not objRS.EOF       Response.Write( _         "< TR >" & _         "<

ASP程序性能测试报告(六)

程序|性能 七.最好用哪种方法提取记录集? 到目前为止我们一直通过创建Recordset对象提取记录集,但是ADO也提供了间接的记录集提取方法.下面的测试比较ADO__03.asp和直接从Connection对象创建记录集(CONN_01.asp)这两种方法: Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open Application("Conn") Set objRS = objCo

ASP程序性能测试报告(二)

程序|性能 三.第一次测试 在第一次测试中,我们模拟Microsoft ASP ADO示例中可找到的典型情形提取一个记录集.在这个例子(ADO__01.asp)中,我们首先打开一个连接,然后创建记录集对象.当然,这里的脚本按照本文第一部分所总结的编码规则作了优化. < % Option Explicit % >< !-- #Include file="ADOVBS.INC" -- >< % Dim objConnDim objRS Response.Wri

ASP程序性能测试报告(三)

程序|性能 四.是否应该通过包含引用ADOVBS.inc? Microsoft提供的ADOVBS.inc包含了270行代码,这些代码定义了大多数的ADO属性常量.我们这个示例只从ADOVBS.inc引用了2个常量.因此本次测试(ADO__02.asp)中我们删除了包含文件引用,设置属性时直接使用相应的数值. objRS.CursorType = 0     ' adOpenForwardOnlyobjRS.LockType = 1       ' adLockReadOnly 可以看到页面开销下

ASP程序性能测试报告(一)

纲要:ASP动态生成的内容以什么方式输出效率最高?最好用哪种方法提取数据库记录集?本文测试了近20个这类ASP开发中常见的问题,测试工具所显示的时间告诉我们:这些通常可以想当然的问题不仅值得关注,而且还有出乎意料的秘密隐藏在内.一.测试目的 本文的第一部分考察了ASP开发中的一些基本问题,给出了一些性能测试结果以帮助读者理解放入页面的代码到底对性能有什么影响.ADO是由Microsoft开发的一个通用.易用的数据库接口,事实证明通过ADO与数据库交互是ASP最重要的应用之一,在第二部分中,我们就

如何增强ASP程序性能(2) (jaklin摘自Yesky)

程序|性能                    如何增强ASP程序性能(2)               2000-08-11· 编译:甘冀平·Yesky 技巧6:聪明地使用Session对象 Session在繁忙站点上使用时有几个缺陷.繁忙的意思是:站点上每秒有上百的页面被请求,或者同时有上千的访问用户.这个技巧对于那些要求水平扩展强的站点非常重要,也就是指这些站点:它们利用多个服务器完成数据装载或者处理大量容错.对于小型站点,比如内部网Intranet,Session是非常值得提倡的. 再

如何增强ASP程序性能(1)

程序|性能 如何增强ASP程序性能(1) 2000-08-10· 甘冀平·Yesky 简介 性能是一个很重要的特征.你需要事先设计好性能指标,否则日后就要为此重新编写程序.就是说:要设想好怎样最佳化地执行ASP程序? 本文提出了一些优化ASP应用和VBScript的技巧,许多技巧和缺陷都经过了研讨.这里列出的建议已经在http://www.microsoft.com 和其他站点上进行了测试,都工作得非常好.本文假设你具备ASP开发的基本知识,包括VBScript或者JScript,ASP应用程序