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

  • :aspxer  Դ:internet  :2007-5-15 20:47:26  ؼ:asp
  • Dim i

    For i = 1 to 10

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

    objRS.ActiveConnection = objConn

    objRS.CursorType = 0 'adOpenForwardOnly

    objRS.LockType = 1 'adLockReadOnly

    objRS.Open Application("SQL")

    If objRS.EOF Then

    Response.Write("No Records Found")

    Else

    'write headings

    ...

    'write data

    ...

    End If

    objRS.Close

    Set objRS = Nothing

    Next

    objConn.Close

    Set objConn = Nothing

    第三,如ADO__06.asp所示,在每一个循环内把连接串赋给ActiveConnection属性:

    Dim i

    For i = 1 to 10

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

    objRS.ActiveConnection = Application("Conn")

    objRS.CursorType = 0 'adOpenForwardOnly

    objRS.LockType = 1 'adLockReadOnly

    objRS.Open Application("SQL")

    If objRS.EOF Then

    Response.Write("No Records Found")

    Else

    'write headings

    ...

    'write data

    ...

    End If

    objRS.Close

    Set objRS = Nothing

    Next

    就象我们可以猜想到的一样,在循环内创建和拆除连接对象是效率最差的方法。不过,令人惊异的是,在循环内直接把连接串赋给ActiveConnection属性只比共享单个连接对象稍微慢了一点。

    尽管如此,第三规则应该为:

    l同一页面内用到多个记录集时,创建单一的连接对象并通过ActiveConnection属性共享它。

    六、哪种游标类型和记录锁定方式效率最高?

    迄今为止的所有测试中我们只使用了“只能向前”的游标来访问记录集。ADO为记录集提供的游标还有三种类型:静态可滚动的游标,动态可滚动的游标,键集游标。每种游标都提供不同的功能,比如访问前一记录和后一记录、是否可以看到其他程序对数据的修改等。不过,具体讨论每一种游标类型的功用已经超出了本文的范围,下表是各种游标类型的一个比较性的分析。

    和“只能向前”类型的游标相比,所有其它的游标类型都需要额外的开销,而且这些游标在循环内一般也要慢一些。因此,我们愿与您共享如下告诫:永远不要这样认为——“唔,有时候我会用到动态游标,那么我就一直使用这种游标吧。”

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