论坛登陆 用户: 密码:
联系我们
设为首页
加入收藏
业界新闻 网络编程 程序开发 网页图象 聊天通讯 软件应用 网络安全 硬件学堂 教育频道 站长club
  ·推荐新闻
 
·美前任官员认为amd告倒英特
·搜索引擎关键字排行简介
·网站优化教程(一)
·msn近期遭受木马病毒骚扰 用
·用qq管理你的系统^_^ 
·测评中心金山毒霸联合发布7
·qq群聊实名 普通用户不受影
·雅虎思科联手推数字邮件签名
·这18条背下来没人敢和你忽悠
·自己动手,拯救丢失的硬盘数
  ·资料搜索
 
  ·相关文章
·绑定txt文件到datagrid
·在用户离开页面时提示信息
·asp + oracle 分页方法(不用存
·asp + sqlserver 分页方法(不
·asp无组件上传进度条解决方案
·验证身份证号是否正确的代码
·类似于iis浏览的功能
·检查有日文片假名的新闻
·asp关键字函数运算附
·asp中也能解压缩rar文件
  ·热门新闻
首页>>网络编程>>asp专区>>文章正文

优化web数据库页面


 日期:2005-7-18 8:25:26     来源:易特网络技术   编辑:黑鹰  点击:
随着互联网的发展,web数据库的应用越来越多,用户对访问web数据库页面的速度也要求越来越高。访问web页面的速度的快慢取决于网络的速度、web页面所在服务器的性能以及web页面本身的设计等多方面原因。本文介绍一种根据笔者多年开发经验总结的优化web数据库页面的方法。 
解决原理 
用户访问静态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> 
小 结 
在make_stations.asp程序代码中,采用了生成“函数”的方法,这样设计的好处是可以在其他页面的任何布局位置上引用该“函数”。在稍复杂的web数据库应用系统中,一般都或多或少地存在着某些“不会频繁地发生变化,具有相对的稳定性”的信息,对这些信息进行“静态”优化,可以显著地提高web数据库的访问速度。当然,对需要反映数据库中当前数据状态的查询统计页面是不能进行“静态”优化的。
上一篇:浅谈 asp 程序的编程与优化
下一篇:在ASP中用集合成批操作数据库(二)
[发送给好友] [打印本页] [关闭窗口] [返回顶部转载请注明来源:http://www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 黑鹰 投稿作者: 易特网络
信息来源: 易特网络技术 录入时间: 2005-7-18 8:25:26
浏览次数: 投稿信箱: shtghy@163.com
设置首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights ©2004-2005 iyit.net all rights reserved. 网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息