首页 > 编程语言 >页面输出太多会严重影响web程序的性能

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

时间:2023-09-18 10:01:37浏览次数:54  
标签:web 输出 性能 程序 130 太多会 allStr 导航 页面


  

我有这样一个小程序:asp + sqlserver2000。
  数据量增加的很快,最近发现它的性能非常差,每次打开都需要十几秒,甚至几十秒,因为我
的程序分页用的是我自己的分页程序:

  难道这个分页程序有问题,但是其他地方用到它没有感觉到慢呀,
我没事就琢磨他,到网上查资料,结果没有具体查到说到我的那个分页程序
性能差的相关资料,后来我发现我的程序中的页导航用的是数字导航方法,而且所有的页导航的
数字全都输出来了,一共一千多页,能不能使这个地方慢呢?我决定测试一下,所以,我就只
让他输出前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="显示更多…" id=seemore 
οnclick="var t=document.all.morePage;var 
s=document.all.seemore;if (t.innerHTML=='')
{t.innerHTML=allStr;s.innerHTML='<font color=ff0000>∧
</font>';s.title='多余隐藏'};else {t.innerHTML='';s.innerHTML=
'<font color=ff0000>∨</font>';s.title='显示更多…'}">
<font color=ff0000>∨</font></a><span id=morePage></span> 
<%end if %>                                                              
<% end if  %>  </font>

标签:web,输出,性能,程序,130,太多会,allStr,导航,页面
From: https://blog.51cto.com/u_8215601/7507435

相关文章

  • web打印时隐藏按钮及其他信息的方法讨论
    作者:塞北的雪(northsnow)web打印是困扰很多web开发人员的问题。有很多人提出了不同的web打印解决方案,还有很多的商业报表设计器来帮我们(需要付费的,我想很多人不想花这个钱),以前我也写过一篇关于web打印解决方案的文章:本文不会讨论这个问题。如果大家对于web打印各种解决......
  • html5 的 webScoket 和 C# 建立Socket连接
    html5的webScoket和C#建立Socket连接最近使用的web项目中,需要服务器直接触发前端显示效果。所以研究了一下websocket:名词解释:WebSocketWebSocket协议是一种双向通信协议,它建立在TCP之上,同http一样通过TCP来传输数据,但是它和http最大的不同有两点:1.WebSocket是一种双向......
  • TienChin 渠道管理-渠道页面完善
    最后附上渠道管理的数据installSQL语句:INSERTINTOTienChin.tienchin_channel(channel_id,channel_name,status,remark,type,create_by,update_by,create_time,update_time,del_flag)VALUES(3,'小红书渠道',1,'小红书渠道',1,'qudao','qu......
  • JAVA 实现登录页面生成验证码
    1importjavax.swing.*;2importjava.awt.Color;3importjava.awt.Font;4importjava.awt.Graphics;5importjava.awt.event.ActionEvent;6importjava.awt.event.ActionListener;7importjava.util.Random;89publicclassLoginFrameext......
  • Java swing 实现QQ登录注册页面
    代码如下1packagecom.lty;2importjavax.swing.*;3importjava.awt.*;4importjava.awt.event.ActionEvent;5importjava.awt.event.ActionListener;6importjava.util.Random;78publicclassQQLoginPage{9privateJFrameframe;10......
  • Vue js 框下制作登录页面的新方法
    ......
  • Postman测试金蝶云星空Webapi【协同开发云下的本地环境】
    业务背景:基于金蝶云星空提供的接口测试,交付之前或者联调之前开发者先自测,即使纠错,提高效率。  大致流程:先请求登录接口,获得token后再请求标准webapi或者自定义接口,这样上下文才不会空。 说明: 金蝶的接口格式一般为:http://ServerIp/K3Cloud/接口命名空间.接口实现类名......
  • web2
    打开环境 直接逆向代码 得到flag ......
  • ant design pro改造表格页面
    找到src/pages/TableList/index.tsx先ctrl+shift+-全局压缩在TableList找到columns换成我们自己的ProColumns中放的是数据下图为API.InterfaceInfoconstcolumns:ProColumns<API.InterfaceInfo>[]=[ {   title:'id',   dataIndex:'id',  ......
  • 基于web的客户管理系统-计算机毕业设计源码+LW文档
    一、选题的目的及意义随着商业银行规模的发展,公司业务越来越多,客户和人员的管理也变得越来越困难。在传统的客户管理中,公司往往通过大量的人力和物力进行管理,通过手工记录客户,统计客户订单信息。这种传统的管理方法容易出错,而且不能适应现代化、信息化的发展过程。因此,本基于web的......