由于需要做模版替换,加上替换的内容很庞大,一个HTML文件竟然有3M。
开始是类似于这样做的
Dim Temps AS String=ReadSQLTemps '读取模版资料
Dim HtmlTexts as string '最后需要写入HTML的内容
这里有多条记录需要同时替换
for each b in a
HtmlTexts +=replace(Temps,"需要替换的文字","替换的值")
HtmlTexts +=replace(HtmlTexts ,"替换字2","替换值2")
......一次类推
next
运行下来后发现。总内容大概有3M,记录数有200多个,生成HTML的过程狂慢。而且是在本机测试。这肯定不能满足系统需求。
偶然的时候,突然想到。在做replace的时候,因为系统是要对HtmlTexts 做全面的逐字核对替换文字,所以当HtmlTexts的内容越多,他在执行replace时候耗费的资源越多。
后改成如下。
Dim TempHtmlTexts as string
for each b in a
TempHtmlTexts +=replace(Temps,"需要替换的文字","替换的值")
TempHtmlTexts =replace(TempHtmlTexts ,"替换字2","替换值2")
......以次类推
HtmlTexts +=TempHtmlTexts
TempHtmlTexts =nothing
next
发现这样一来,速度快了N倍啊。。