当前页面位置: » 丰搜网 » 文档中心 » 详细内容
优化web数据库页面
随着互联网的发展,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 程序的编程与优化 ftp 信息代码全解 | | 认识和优化 connection 对象 浅谈 asp 程序的编程与优化 优化web数据库页面 | | | | 保持清晰的文档结构 | | | 月亮图腾教程ⅴ—最后一战 | | | x-sapce使用系列教程 | | | x-space安装系列教程 | | | 抽线以及虚线画法简明教程 | | | 创新设计 百万格子大楼 | | | discuz!转换系列教程 | | | 世界杯足球的32个变种 | | | 易上手简单图层样式扣图 | | | 一封写给mm学习linux的信 | | | | | | 保持清晰的文档结构 | | | 月亮图腾教程ⅴ—最后一战 | | | x-sapce使用系列教程 | | | x-space安装系列教程 | | | 抽线以及虚线画法简明教程 | | | discuz!转换系列教程 | | | 易上手简单图层样式扣图 | | | 十分钟学会 xajax | | | css 菜单举一反三 | | | 利用照片制作版画简明教程 | | | | | 蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。 特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有 | | 本文现有 4 条评论 暂时没有人参于评分 221.232.93.30 publish at 2004-7-15 17:24:14 新闻网站应该采纳这 221.226.52.33 publish at 2004-2-24 17:10:36 不错 61.149.113.1 publish at 2004-2-17 15:26:48 挺好的,我想用用看 221.196.9.207 publish at 2003-12-17 20:35:44 不实用 | | |
| 关于站点 免责声明 联系站长 版权隐私 友情链接 网站地图 京icp备05002321号 | ©1999-2006 blueidea.com. 版权所有 | |