基于ASP的动态网站优化策略

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:chenwoyu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着互联网的发展,Web数据库的应用越来越广泛,用户对访问Web数据库页面的速度的要求也越来越高。访问Web页面的速度取决于很多因素,主要取决于网络的速度、Web页面所在服务器的性能、Web页面本身的设计以及web数据库设计等多方面原因。本文主要从WEB页面设计这一方面介绍基于ASP的动态网站优化策略。
  关键词: ASP;WEB数据库;动态网站;静态网站;查询优化
  中图分类号:TP393文献标识码: A文章编号:1009-3044(2007)15-30669-02
  ASP-based Dynamic Website Optimization Strategy
  Chen Shi-bao
  (Modern Education Technology Center of Anhui Finance and Trade Vocational College, Hefei 230601,China)
  Abstract:With the development of the Internet, web database is becoming more and more widely used . Meanwhile, the users have a growing demand of the speed ofvisiting the database web pages ,which is decided by many factors, which mostly depends on the speed of network, web host server performance, the design of web page itself and web database, and many other reasons. This paper gives some introduction aboutthe ASP-based dynamic website Optimization Strategies mainly from the aspect of web page design.
  Key words:ASP;WEB database;dynamic website;static website;query optimization
  
  1 引言
  
  在InterNet迅猛发展的今天,用户不再只满足于通过浏览器看到静态页面,而是希望能根据要求生成更加灵活、
  生动的动态页面。数据库对于信息的动态检索无疑具有极大的优越性,因此根据数据库信息的不断变化生成动态web页面将成为网页设计的重要方法,动态网页技术与数据库结合成为了必然,ASP技术加数据库是目前应用最广泛的一种。然而,随着网络上信息数量的膨胀和人们对信息需求量的增加,因此用户对访问WEB数据库页面速度的要求也必然越来越高。对WEB页面的优化可以显著地提高Web数据库的访问速度。
  
  2 Web页面设计的优化
  
  2.1动态页面静态化
  用户访问静态Web页面时,Web服务器只需简单地将该页面传回给用户浏览器,由浏览器解释执行;而用户访问“动态”Web页面时(含服务器端执行程序),Web服务器需要先解释执行该页面,将嵌入在页面中的服务器端执行代码在服务器端执行完毕,并将执行结果形成一个“静态”的Web页面传回给用户浏览器,再由浏览器解释执行。
  在Web数据库应用系统中,当用户访问Web数据库页面时,Web服务器需要先与数据库服务器交换信息,从数据库中动态地读取数据并形成一个“静态”的Web页面传回用户浏览器端,再由浏览器解释执行。
  基于Web页面的上述执行过程,如果把“从数据库中动态读取数据”只执行一次并形成一个“静态”的HTML代码段,在需要从数据库中动态读取数据的页面中插入该段代码,就能减少访问数据库的开销,从而提高访问该页面的速度,其原理类似于程序的一次编译、多次执行。
  编程实例:下面以火车订票系统为例来说明该方法的具体实现过程。火车订票系统中站名、车次、各停站及其停车时间等数据被设计存放在数据库中。由于车次、站名的增减、停车时间的变更等信息不会频繁地发生变化,具有相对的稳定性,所以可以在数据需要变更时由系统管理员一次性执行一段代码,从数据库中提取数据并生成若干HTML代码的“静态”引用文件,供需要站名、车次、停站、停车时间的各个Web页面引用。只有到下次铁路系统再次调整时间、车次等信息时,系统管理员才有必要修改数据库中的数据,重新生成并覆盖原有的HTML代码“静态”引用文件,而引用该“静态”代码的各个Web页面则无需任何修改。
  下面以其中“站名”为例,说明“静态”代码的生成以及各Web页面对此“静态”代码的引用方法。设系统采用Access数据库train.mdb,表名为tab_train,“站名”字段为stations。首先从数据库中读取“站名”并生成“静态”HTML代码的ASP程序,然后把生成的“静态”代码保存到文件stations.inc中。
  /*make_stations.asp*/
  <%
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  FilePath = Server.MapPath(“station.inc”)
  Set file = fso.CreateTextFile(FilePath)
  Set conn = server.CreateObject(“ADODB.Connection”)
  DBPath = Server.MapPath(“train.mdb”)
  conn.Open “driver={Microsoft Access Driver (*.mdb)}; dbq=”& DBPath
  sql = “select stations from tab_train”
  Set rs = conn.Execute(sql)
  line = “function put_stations(){”
  file.WriteLine line
  line = “document.writeln(‘ ” & “ <select name = ‘stations’ >’)”
  file.WriteLine line
  While Not rs.EOF
  line = “document.write(‘<option >” & rs(“stations”) & “</option>’)”
  file.WriteLine line
  rs.MoveNext
  Wend
  line = “document.write(‘</select>’) }”
  file.WriteLine line
  file.close
  %>
  引用“静态”的“站名”的HTML页面如下:
  < html >
  < head >
  < title >引用stations.inc文件</title>
  < !--include file=“stations.inc”-- >
  < /head >
  < body >
  < table >
  < tr >< td >
  < script language=“javascript”> put_stations() < /script >
  < /td >< /tr >
  < /table >
  </body>
  </html>
  2.2 WEB页面查询优化
  动态网站的核心是数据库,而动态网站的交互性就体现在根据用户的请求查询数据库从而将执行结果形成一个Web页面传回给用户浏览器解释执行,因此动态网站的实质就是不停的对数据库进行操纵(包括查询,更新,删除和插入,在这四中操纵方式中以查询为主),对WEB页面中查询进行优化也可以极大的提高Web数据库的访问速度。
  一个查询往往有许多实现办法,然而不同的办法查询效率是不一样的,因此要找出一个与之等价的且查询效率最高的表达式。显然,笛卡尔积、连接运算最费时间和空间,究竟应采用什么样的策略,能够节省时间和空间,这就是优化的准则。
  2.2.1 提前执行选择运算。对于有选择运算的表达式,优化的原则是尽可能先执行选择运算的等价表达式,以得到较小的中间结果,减少运算量。
  2.2.2 合并乘积与其后的选择运算为连接运算。在表达式中,当乘积运算后面是选择运算时,应该合并为连接运算,使选择和乘积一道完成,以避免做完乘积后, 再对一个大的乘积关系进行选择运算。
  2.2.3 将投影运算与其后的其他运算同时进行。以避免重复扫描关系。
  2.2.4 将投影连接和其前后的二目运算结合起来,使得没有必要为去掉某些字段再重复扫描一遍关系。
  2.2.5 在执行连接前对关系做适当的预处理。连接运算的执行效率比较低,其结果往往是产生的更大的关系。
  
  3 结语
  
  以上是笔者在实际工作中、在不增加投入的情况下,为改进WEB网站的访问速度而总结出来的。动态页面静态化实际上是采用了生成“函数”的方法,这样设计的好处:一是可以在其他页面的任何布局位置上引用该“函数”,二是增加执行效率。 WEB页面查询优化主要是对WEB页面中的查询语句进行优化,以增加查询效率。
  
  参考文献:
  [1]王亚平.数据库系统工程师教程[M].北京:清华大学出版社.2004.7 .339-369
  [2]王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社.1998.7
  [3]汪晓平,钟军.ASP网络开发技术[M](第二版).北京:人民邮电出版社. 2003.12
其他文献
摘要: ASP. NET作为微软的.NET构架中的一部分,业已成为开发新型电子商务系统安全解决方案的主流开发工具。主要讨论了与ASP相比,ASP.NET的优势,注入式攻击问题以及实现 ASP. NET应用程序级别安全性的策略和解决方案。  关键词:.NET;ASP;安全;注入式攻击  中图分类号: TP393文献标识码: A文章编号:1009-3044(2007)15-30676-03  The
期刊
摘要:随着企业网、校园网及宽带网的迅速发展,基于三层交换与路由技术的交换机的应用已从最初网络中心骨干层、汇聚层渗透到接入层。本文对三层交换和路由技术、VLAN技术的应用进行了全面介绍,并对基于CISCO交换机的局域网VLAN配量进行了详尽描述。  关键词:VLAN;第三层交换;路由器;交换技术  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30657-03  
期刊
摘要:中国加入WTO以后,烟草工业企业面对市场的压力越来越大,推进服务营销尤为重要。然而,在Internet时代客户比以前有了更多的选择,而且只需轻轻点击鼠标就可以贴近你或离你而去。因此,对于企业来说仅仅满足客户的需求已远远不够,更重要的是如何能让服务给客户留下深刻的印象。CSS作为一种前景广阔的企业解决方案,也越来越多地显示出其在以客户服务为中心的时代无可替代的重要地位。  关键词:烟草行业;.
期刊
摘要:TCP/IP协议现在用得非常广泛,但它本身也有一些安全上的缺陷。描述了各种各样针对这些缺陷的攻击,包括序列号攻击,SYN Flood攻击。提出了一些对这些攻击的防御方法。  关键词:TCP协议;网络安全;协议攻击;安全防御  中图分类号:TP393 文献标识码: A 文章编号:1009-3044(2007)15-30682-01  Security Problems Study in the
期刊
摘要:通过叙述ASP连接Access或Sql Server数据库的几种方式,来分析访问Access和SQL Server两种Web数据库的安全机制。  关键词:ASP;Web数据库;安全机制  中图分类号:TP309文献标识码:A文章编号:1009-3044(2007)15-30621-01  Safety Mechanism of Web Database Based on ASP  XU We
期刊
摘要:随着数据库应用系统中数据的增加,系统的响应速度成为系统设计中需要解决的主要问题。由于用户对数据库的要求越来越高,因此必须对数据库进行优化。系统优化的一个很重要的方面就是SQL语句本身的优化,文章从应用的角度论述了SQL语句优化的一些方法。  关键词:数据库;优化;SQL  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30611-03  Analysis
期刊
摘要:为了最大限度的实现教学资源共享和提高学校网络资源的有效利用率,配合一套功能完整且实用、维护简便、安全性高记费管理系统,提高机房管理效率,降低工作强度,并及时处理机房发生的故障。本文针对Windows NT系统下域控制管理器的特点,设计了一种对帐号的计费/解锁/加锁等操作的方案。  关键词:NT机房计费系统;NT事件日志;SQL Server  中图分类号:TP315文献标识码:A文章编号:1
期刊
摘要:仓库管理系统是典型的信息管理系统(MIS), 其开发主要包括后台数据库的建立和维护,以及前端Web应用程序的开发两个方面。它使用VISUAL BASIC作为开发工具,同时用Microsoft Access 2003建立后台数据库,最后以JET数据库引擎技术实现前台界面与后台的连接。仓库管理系统主要完成仓库货物信息的录入、查询、统计和数据备份等功能,具有极强的实用性。  关键词:信息管理系统;
期刊
摘要:本文讨论了上海党建信息系统的体系结构,在该系统中,数据交换平台是其核心部分,如何保证数据的传输安全,保证数据完整、不可篡改以及不可否认等至关重要,文中提出了基于PKI技术的系统安全解决方案和并已基本实现。  关键词:PKI;CA;非对称加密;对称加密  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30633-03  Data Security Polic
期刊
摘要:本文深入浅出地阐述了C语言连接和处理Oracle数据库系统的Pro*C程序,结合作者实践经验,举例说明如何编写、编译和运行Pro*C程序。  关键词:Oracle数据库;Pro*C程序;嵌入式SQL  中图分类号:TP311.13 文献标识码:A文章编号:1009-3044(2007)15-30622-02  Briefly Bewrite the Pro*C Program in the
期刊