win7 iis7運(yùn)行ASP特別慢的解決辦法責(zé)任編輯 :李飛 文章來(lái)源 :星翼創(chuàng)想(waterplane.cn) 發(fā)布時(shí)間 :2012-02-01 閱讀次數(shù):7167
下面的內(nèi)容是在藍(lán)色理想上看的,想必有不少同學(xué)可能遇到了WIN7 IIS7運(yùn)行ASP特別慢的問(wèn)題,下面的方法可能有用,不過(guò)未經(jīng)驗(yàn)證,貼出來(lái)給大家看下。
set rs = conn.execute(firstSql)
do while not rs.eof
//這里如果再開(kāi)數(shù)據(jù)集,循環(huán)讀取、執(zhí)行任何SQL語(yǔ)句,就超慢,比如執(zhí)行
conn.execute(otherSql)
rs.movenext
loop
...
我也發(fā)現(xiàn)了這個(gè)問(wèn)題,不知道其他人有沒(méi)有遇到!請(qǐng)教解決辦法?
執(zhí)行時(shí)間:循環(huán)一次需要6秒!
也就是如果firstSql語(yǔ)句有10條數(shù)據(jù),這樣的代碼執(zhí)行到完成,至少要6*10=60秒!
而這樣的代碼在win2003下,基本是幾毫秒就執(zhí)行完成了。
------------------------------------------------------
經(jīng)測(cè)試,有個(gè)解決方案:
1、SQL數(shù)據(jù)庫(kù)連接語(yǔ)句不要用:
Provider=Sqloledb;User ID=數(shù)據(jù)庫(kù)帳號(hào);Password=數(shù)據(jù)庫(kù)密碼;Initial Catalog=數(shù)據(jù)庫(kù)名;Data Source=數(shù)據(jù)庫(kù)IP;
而要用:
Driver={SQL SERVER}; Server=數(shù)據(jù)庫(kù)IP;UID=數(shù)據(jù)庫(kù)帳號(hào);PWD=數(shù)據(jù)庫(kù)密碼;Database=數(shù)據(jù)庫(kù)名;
2、SQL外面的語(yǔ)句不要直接用set的方式獲取數(shù)據(jù)集,而是使用open的方式。
把
set rs = conn.execute(firstSql)
改為:
set rs = server.createobject("adodb.recordset")
rs.open firstSql,conn,1,1
經(jīng)這樣改后,執(zhí)行速度就只需要幾秒毫了!
文章轉(zhuǎn)載請(qǐng)保留網(wǎng)址:http://waterplane.cn/news/faq/684.html