设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP

页面输出太多会严重影响web程序的性能

作者:佚名 出处:网络转载 时间:09-22 点击:

内容载入中...
我有这样一个小程序,asp + sqlserver2000。

  最近发现它的性能非常差,每次打开都需要十几秒,甚至几十秒,因为我的程序分页用的是我自己的分页程序:http://blog.csdn.net/precipitant/archive/2005/06/15/395016.aspx
  难道这个分页程序有问题,但是其他地方用到它没有感觉到慢呀,我没事就琢磨他,到网上查资料,结果没有具体查到说到我的那个分页程序性能差,后来我发现我的程序中的页导航用的是数字导航,而且所有的数字全都书出来,一共一千多页,能不能使这个地方慢呢,我就只让他输出前200页的d导航链接,结果1秒钟就刷出来了。我才恍然大悟,原来是输出内容太多导致的。以前遇到性能问题都会去想数据库操作,冲没有想到其他地方,或很少向其他地方。其实页面输出的数据量对性能也是有很大影响的,所以我们一定要养成良好的程序书写习惯,力求简单。后来我对程序进行了优化,优化分两个步骤,第一个步骤我不将所有的导航都输出来,只输出前200多页,后面再加一个文本框用于导航。同时我对每个链接进行了简化,原来每个上面都有很长的链接,至此我将链接放到了javascript函数中,然后再导航数字上只加上一个onclick事件。这样又可以减少很多输出数据。结果性能非常好。 

  原来的代码片断:

        当前<%=tCurPage%>页 共<%=tpagecount%>页                                                                                              
   
<%                                                                                           
 if tTotalCount>0 then                                                                                           
   for i=1 to tPagecount                                                              
   %>?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%>
<% 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 ""                                                                                                                               
document.getElementById('loading').style.display="none";

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口