标题 | asp:页面输出太多会严重影响web程序的性能 |
内容 | 数据量增加的很快,最近发现它的性能非常差,每次打开都需要十几秒,甚至几十秒,因为我 的程序分页用的是我自己的分页程序: 难道这个分页程序有问题,但是其他地方用到它没有感觉到慢呀,我没事就琢磨他,到网上查资料,结果没有具体查到说到我的那个分页程序性能差的相关资料,后来我发现我的程序中的页导航用的是数字导航方法,而且所有的页导航的数字全都输出来了,一共一千多页,能不能使这个地方慢呢?我决定测试一下,所以,我就只让他输出前200页的导航链接,结果1秒钟就刷出来了。这我才恍然大悟,原来是输出内容太多导致的。以前遇到性能问题都会去想数据库操作,从来没有想到其他地方会不会有问题,或很少想其他地方。其实页面输出的数据量对性能也是有很大影响的,所以我们一定要养成良好的程序书写习惯,力求简单。 后来我对程序进行了优化,优化分两个步骤,第一个步骤我不将所有的导航都输出来,只输出前200多页,后面再加一个文本框用于导航。 同时我对每个链接进行了简化,原来每个上面都有很长的链接,至此我将链接放到了javascript函数中,然后再导航数字上只加上一个onclick事件。这样又可以减少很多输出数据。结果性能非常好。 原来的代码片断: <font color=#008080 size=2>当前<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=显示 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。