數(shù)據(jù)量增加的很快,最近發(fā)現(xiàn)它的性能非常差,每次打開都需要十幾秒,甚至幾十秒,因?yàn)槲?/P>
的程序分頁用的是我自己的分頁程序:
難道這個(gè)分頁程序有問題,但是其他地方用到它沒有感覺到慢呀,我沒事就琢磨他,到網(wǎng)上查資料,結(jié)果沒有具體查到說到我的那個(gè)分頁程序性能差的相關(guān)資料,后來我發(fā)現(xiàn)我的程序中的頁導(dǎo)航用的是數(shù)字導(dǎo)航方法,而且所有的頁導(dǎo)航的數(shù)字全都輸出來了,一共一千多頁,能不能使這個(gè)地方慢呢?我決定測試一下,所以,我就只讓他輸出前200頁的導(dǎo)航鏈接,結(jié)果1秒鐘就刷出來了。這我才恍然大悟,原來是輸出內(nèi)容太多導(dǎo)致的。以前遇到性能問題都會(huì)去想數(shù)據(jù)庫操作,從來沒有想到其他地方會(huì)不會(huì)有問題,或很少想其他地方。其實(shí)頁面輸出的數(shù)據(jù)量對性能也是有很大影響的,所以我們一定要養(yǎng)成良好的程序書寫習(xí)慣,力求簡單。
后來我對程序進(jìn)行了優(yōu)化,優(yōu)化分兩個(gè)步驟,第一個(gè)步驟我不將所有的導(dǎo)航都輸出來,只輸出前200多頁,后面再加一個(gè)文本框用于導(dǎo)航。
同時(shí)我對每個(gè)鏈接進(jìn)行了簡化,原來每個(gè)上面都有很長的鏈接,至此我將鏈接放到了javascript函數(shù)中,然后再導(dǎo)航數(shù)字上只加上一個(gè)onclick事件。這樣又可以減少很多輸出數(shù)據(jù)。結(jié)果性能非常好。
原來的代碼片斷:
<font color=#008080 size=2>當(dāng)前<font color=ff0000>
<%=tcurpage%></font>頁 共<font color=ff0000>
<%=tpagecount%></font>頁
<br><% if ttotalcount>0 then
for i=1 to tpagecount
%><a href='<%=request.servervariables(path_info)%>
?page=<%=i%>&browsersize=<%=browsersize%>
&t_count=<%=ttotalcount%>&order_field=<%=torderfield%>
&order_dir=<%=torderdirection%>&otype=<%=otype%>
&oop=<%=oop%>&okey=<%=filterparam4(okey)%>
&page_size=<%=tpagesize%><%=add_option%>'><%=i%></a>
<% if browsersize=1 then
if i=20 or i=36 then response.write
end if
if i=fcou then
exit for
end if
response.write
next %>
<%dim allstr
if tpagecount>fcou then
for i=fcou+1 to tpagecount
if browsersize=0 then
m=(i=74 or i=107 or (i>107 and ((i-107) mod 27)=0))
else
m=(i=94 or i=130 or (i>130 and ((i-130) mod 35)=0))
end if
allstr=allstr & <a href='&request.servervariables(path_info)&?
page=&i&&browsersize=&browsersize&&t_count= & ttotalcount &
&order_field= & torderfield & &order_dir= & torderdirection & &
otype= & otype & &oop= & oop & &okey= & filterparam4
(okey) & &page_size= & tpagesize & add_option &
'>
allstr=allstr & i
allstr=allstr & </a>
if not m then allstr=allstr &
if m then allstr=allstr & <br>
if browsersize=1 then
if i=58 or i=71 then allstr=allstr &
end if
if i=106 then allstr=allstr &
next%>
<script language=javascript>
var allstr;
allstr=<%=allstr%>;
</script><a href=# title=顯示
更多信息請查看IT技術(shù)專欄