明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

asp性能測(cè)試第二局部(轉(zhuǎn))(11)

[摘要]十一、用臨時(shí)字符串收集輸出是一種好方法嗎? 這個(gè)問題來(lái)自對(duì)本人最近一篇文章的建議。問題的核心是緩沖的使用,以及是否可以使用臨時(shí)字符串收集Response.Write的輸出,從而使得Response.Write只需調(diào)用一次即可。為測(cè)試這個(gè)問題,我們修改了ADO_11.asp,在循環(huán)中不是每次都用Re...

十一、用臨時(shí)字符串收集輸出是一種好方法嗎?

這個(gè)問題來(lái)自對(duì)本人最近一篇文章的建議。問題的核心是緩沖的使用,以及是否可以使用臨時(shí)字符串收集Response.Write的輸出,從而使得Response.Write只需調(diào)用一次即可。為測(cè)試這個(gè)問題,我們修改了ADO_11.asp,在循環(huán)中不是每次都用Response.Write輸出,而是把輸出附加到一個(gè)字符串的末尾,在全部記錄處理完畢后調(diào)用Response.Write輸出這個(gè)字符串(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)

這個(gè)結(jié)果不能令人滿意;蛟S我們應(yīng)該象有些人建議的那樣,先用Space函數(shù)為字符串分配一些空間,使得程序不必在每次循環(huán)的時(shí)候再分配空間(STR__02.asp):
Dim strTable
strTable = Space(10000)
(出處:熱點(diǎn)網(wǎng)絡(luò))