最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
asp性能测试第二部分(转)(十一)
时间:2022-07-02 23:49:17 编辑:袖梨 来源:一聚教程网
十一、用临时字符串收集输出是一种好方法吗?
这个问题来自对本人最近一篇文章的建议。问题的核心是缓冲的使用,以及是否可以使用临时字符串收集Response.Write的输出,从而使得Response.Write只需调用一次即可。为测试这个问题,我们修改了ADO_11.asp,在循环中不是每次都用Response.Write输出,而是把输出附加到一个字符串的末尾,在全部记录处理完毕后调用Response.Write输出这个字符串(STR__01.asp):
Dim strTable
strTable = ""
'write headings
strTable = strTable & "< TABLE BORDER=1 >< TR >"
For i = 0 to fldCount-1
strTable = strTable & "< TH >" & fld(i).name & "< /TH >"
Next
strTable = strTable & "< /TR >"
'write data
Do While Not objRS.EOF
strTable = strTable & "< TR >"
For i = 0 to fldCount-1
strTable = strTable & "< TD >" & fld(i) & "< /TD >"
Next
strTable = strTable & "< /TR >"
objRS.MoveNext
Loop
For i = 0 to fldCount-1
Set fld(i) = Nothing
Next
strTable = strTable & "< /TABLE >"
Response.Write(strTable)
这个结果不能令人满意。或许我们应该象有些人建议的那样,先用Space函数为字符串分配一些空间,使得程序不必在每次循环的时候再分配空间(STR__02.asp):
Dim strTable
strTable = Space(10000)
这个问题来自对本人最近一篇文章的建议。问题的核心是缓冲的使用,以及是否可以使用临时字符串收集Response.Write的输出,从而使得Response.Write只需调用一次即可。为测试这个问题,我们修改了ADO_11.asp,在循环中不是每次都用Response.Write输出,而是把输出附加到一个字符串的末尾,在全部记录处理完毕后调用Response.Write输出这个字符串(STR__01.asp):
Dim strTable
strTable = ""
'write headings
strTable = strTable & "< TABLE BORDER=1 >< TR >"
For i = 0 to fldCount-1
strTable = strTable & "< TH >" & fld(i).name & "< /TH >"
Next
strTable = strTable & "< /TR >"
'write data
Do While Not objRS.EOF
strTable = strTable & "< TR >"
For i = 0 to fldCount-1
strTable = strTable & "< TD >" & fld(i) & "< /TD >"
Next
strTable = strTable & "< /TR >"
objRS.MoveNext
Loop
For i = 0 to fldCount-1
Set fld(i) = Nothing
Next
strTable = strTable & "< /TABLE >"
Response.Write(strTable)
这个结果不能令人满意。或许我们应该象有些人建议的那样,先用Space函数为字符串分配一些空间,使得程序不必在每次循环的时候再分配空间(STR__02.asp):
Dim strTable
strTable = Space(10000)
相关文章
- 《无限暖暖》天星之羽获得位置介绍 12-20
- 《流放之路2》重铸台解锁方法介绍 12-20
- 《无限暖暖》瞄准那个亮亮的成就怎么做 12-20
- 《无限暖暖》魔气怪终结者完成方法 12-20
- 《无限暖暖》曙光毛团获得位置介绍 12-20
- 《无限暖暖》日光果获得位置介绍 12-20