技巧之一:提高使用request集合的效率
訪問乙個asp集合來提取乙個值是費時的、占用計算資源的過程。因為這個操作包含了一系列
對相關集合的搜尋,這比訪問
乙個區域性變數要慢得多。因此,如果打算在頁面中多次使用request集合中的乙個值,應該考
慮將其存貯為乙個區域性變數。
例如將**寫成下面的形式以加快指令碼引擎處理速度:
strtitle=request.form("title")
strfirstname=request.form("firstname")
strlastname=request.form("lastname")
if len(strtitle) then strtitle=strtitle & " "
if strfirstname="" then strfullname=strtitle & " " & strlastname
elseif len(strfirstname)=1 then
strfullname=strtitle & strfirstname & ". " & strlastname
else
strfullname=strtitle & strfirstname & " " & strlastname
end if
技巧之二:直接訪問適當的集合
如果不是別無選擇,否則不要使用strpage=request("page")的這樣的形式來獲取引數,因為
這將按順序搜尋全部的集合—
querystring、form、cookies、clientcertificate、servervarible直到發現第乙個匹配值
的名稱。這樣做比直接訪問適
當的集合效率低,並且是不安全的,除非能絕對保證這個值不會出現在另外乙個集合中。
例如,可能希望搜尋滿足客戶請求的web伺服器名稱,這通過出現在每個查詢中的request.s
ervervarables集合中尋找
「server_name」來實現。然而,假如其他的集合也包含名為「server_name」的值(鍵名不
區分大小寫),當使用request
("server_name")時,就會得到錯誤的結果。總而言之,應盡可能直接訪問適當的集合。
技巧之四:優化asp中的ado操作
通常面言,資料構成了web站點的實際內容。所以,優化ado操作以加速asp**執行,十分有
用: a. 僅選擇所需的列:當開啟ado記錄集時,除非需要獲得所有的列,否則不應自動地使用表
名(即select *)。使用單獨
的列意味著將減少傳送到伺服器或從伺服器取出的資料量。即使需要使用全部列,單獨地命
名每個列也會獲得最佳的性
能,因為伺服器不必再解釋這些列的名字。
b. 盡可能的使用儲存過程。儲存過程是預先編譯的程式,含有乙個已經準備好的執行計畫,
所以比sql語句執行更快。
c. 使用適當的游標和鎖定模式。如果所做的全部工作只是從記錄集中讀取資料,並將其顯示
在螢幕上,那麼就使用預設的
只能前移、唯讀的記錄集。ado用來維護記錄和鎖定的細節的工作越少,執行的效能就越高。
d. 使用物件變數。當遍歷記錄集時乙個肯定能提高效能的方法是使用物件變數指向集合中的
成員。例如:
while not rsgc.eof
response.write "工程名稱:" & rsgc("gcmc") & "(工程**:" & rsgc("gccode") & ")
" rsgc.movenext
wend
可以用改寫為下面的**以加快執行:
set gcmc=rsgc("gcmc")
set gccode=rsgc("gccode")
while not rsgc.eof response.write "工程名稱:" & gcmc & "(工程**:" & gccode &
")" rsgc.movenext
wend
新的**建立了物件變數的引用,所以可以使用物件變數而不是實際的變數,這意味著指令碼
引擎的工作減少了,因為在集
合中進行索引的次數變少了。
技巧五:不要混用指令碼引擎
我們知道,asp頁面中既可以使用vbscript,也可以使用jscript。但是在同乙個頁面上同時
使用jscript和vbscript則是不
可取的。因為伺服器必須例項化並嘗試快取兩個(而不是乙個)指令碼引擎,這在一定程度上
增加了系統負擔。因此,從性
能上考慮,不應在同一頁面中混用多種指令碼引擎。
ASP提速技巧
技巧之一 提高使用request集合的效率 訪問乙個asp集合來提取乙個值是費時的 占用計算資源的過程。因為這個操作包含了一系列對相關集合的搜尋,這比訪問 乙個區域性變數要慢得多。因此,如果打算在頁面中多次使用request集合中的乙個值,應該考慮將其存貯為乙個區域性變數。例如將 寫成下面的形式以加...
ASP提速技巧
技巧之一 提高使用request集合的效率 訪問乙個asp集合來提取乙個值是費時的 占用計算資源的過程。因為這個操作包含了一系列對相關集合的搜尋,這比訪問 乙個區域性變數要慢得多。因此,如果打算在頁面中多次使用request集合中的乙個值,應該考慮將其存貯為乙個區域性變數。例如將 寫成下面的形式以加...
Discuz提速優化技巧
discuz是國內最受站長們歡迎的建站原始碼之一,除了開源以外還有著很強大的後台,即便是沒有建站基礎和不懂 的站長也能很快的架設出乙個論壇,甚至是門戶。乙個 的載入速度除了影響你在搜尋引擎裡的排名以外還影響著你的使用者體驗。最新研究表明,大多數使用者期望的 載入時間是3秒,如果時間超過3秒,就開始流...