• λ我爱Aspx >> Asp.Net >> ASP程序性能测试报告
  • ASP程序性能测试报告

  • :aspxer  Դ:internet  :2007-5-15 20:47:26  ؼ:asp
  • 同样的看法也适用于记录锁定方式的选择。前面的测试只用到了只读的加锁方式,但还存在其他三种方式:保守式、开放式、开放式批处理方式。和游标类型一样,这些锁定方式为处理记录集数据提供了不同的功能和控制能力。

    我们得出如下规则:

    l使用适合于处理任务的最简单的游标类型和记录锁定方式。

    七、最好用哪种方法提取记录集?

    到目前为止我们一直通过创建Recordset对象提取记录集,但是ADO也提供了间接的记录集提取方法。下面的测试比较ADO__03.asp和直接从Connection对象创建记录集(CONN_01.asp)这两种方法:

    Set objConn = Server.CreateObject("ADODB.Connection")

    objConn.Open Application("Conn")

    Set objRS = objConn.Execute(Application("SQL"))

    可以看到页面开销略有增加,单个记录的显示时间没有变化。

    下面我们再来看看从Command对象直接创建记录集对象(CMD__02.asp):

    Set objCmd = Server.CreateObject("ADODB.Command")

    objCmd.ActiveConnection = Application("Conn")

    objCmd.CommandText = Application("SQL")

    Set objRS = objCmd.Execute

    同样,页面开销也略有增加,而单个记录的显示时间没有本质的变化。后面这两种方法在性能上的差异很小,但我们还有一个重要的问题需要考虑。

    通过Recordset类创建记录集时,我们能够以最大的灵活性控制记录集的处理方式。既然后面两种方法未能有压倒性的性能表现,我们主要还是考虑默认返回的游标类型和记录锁定方式,对于某些场合来说默认值并不一定是最理想的。

    因此,除非由于特殊的原因需要选择后面两种方法,否则我们建议考虑下面的规则:

    l通过ADODB.Recordset类实例化记录集,以获得最好的性能和灵活性。

    八、是否应该使用本地记录集?

    ADO允许使用本地(客户端)记录集,此时查询将提取记录集内的所有数据,查询完成后连接可以立即关闭,以后使用本地的游标访问数据,这为释放连接带来了方便。使用本地记录集对于访问那些要求数据离线使用的远程数据服务非常重要,那么,对于普通的应用它是否同样有所帮助?

    下面我们加入CursorLocation属性,并在打开记录集之后关闭了连接(CLIENT1.asp):

    Set objRS = Server.CreateObject("ADODB.Recordset")

    objRS.CursorLocation = 2' adUseClient

    objRS.ActiveConnection = Application("Conn")

    objRS.LockType = 1?' adLockReadOnly

    objRS.Open Application("SQL")

    Ҷƪл˵?
  • һƪ用ASP编写下载网页中所有资源的程序
    һƪ用ISAPIfilter使INC、ASA文件安全