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

  • :aspxer  Դ:internet  :2007-5-15 20:47:26  ؼ:asp
  • Response.Write("< /TABLE >")

    End If

    可以看到,代码性能有所下降,但它仍旧要比ADO__07.asp要快。

    下一个测试示例是前面两个方法的折衷。我们将继续保持动态特征,同时通过在动态分配的数组中保存字段引用提高性能:

    If objRS.EOF Then

    Response.Write("No Records Found")

    Else

    Dim fldCount

    fldCount = objRS.Fields.Count

    Dim fld()

    ReDim fld(fldCount)

    Dim i

    For i = 0 to fldCount-1

    Set fld(i) = objRS(i)

    Next

    'write headings

    Response.Write("< TABLE BORDER=1 >< TR >") For i = 0 to fldCount-1

    Response.Write("< TH >" & fld(i).name & "< /TH >")

    Next

    Response.Write("< /TR >")

    'write data

    Do While Not objRS.EOF

    Response.Write("< TR >")

    For i = 0 to fldCount-1

    Response.Write("< TD >" & fld(i) & "< /TD >")

    Next

    Response.Write("< /TR >")

    objRS.MoveNext

    Loop

    For i = 0 to fldCount-1

    Set fld(i) = Nothing

    Next

    Response.Write("< /TABLE >")

    End If

    虽然还不能超过以前最好的成绩,但它比开头的几个示例要快,同时它具有动态地处理任何记录集这一优点。

    与前面的测试代码相比,下面的测试代码有了根本性的改动。它使用记录集对象的GetRows方法填充数组以供循环访问数据,而不是直接访问记录集本身。注意在调用GetRows之后立即把Recordset设置成了Nothing,也就是尽快地释放了系统资源。另外,请注意数组的第一维代表字段,第二维代表行(ADO__12.asp)。

    If objRS.EOF Then

    Response.Write("No Records Found")

    objRS.Close

    Set objRS = Nothing

    Else

    'write headings

    ...

    'set array

    Dim arrRS

    arrRS = objRS.GetRows

    'close recordset early

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