通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>编程开发>>sql专区>>正文 新版上线![旧版]
注:打开慢时请稍等
优化-数据库

http://www.iyit.net  日期:2006-5-3 19:19:06  来源:  点击:
参加讨论】 与没有数据库的网站相比,数据库的存取会降低你的系统性能。但是大多数情况下,网站和数据库有密不可分的关
系,正是数据库给站点提供了大容量、多样性、个性化等特色,并实现了很多特殊的功能。
1不要忘记给数据库做索引。合理的索引能立即显著地提高数据库整个系统的性能。可以参考有关sql性能调试书
籍,学会根据所需查询方式合理制作索引和根据索引方式改进查询语句。
2在适当的情况下,尽可能的用存储过程而不是sql查询,因为前者已经过了预编译,运行速度更快。同时让数据库
仅仅返回你所需要的那些数据,而不是返回大量数据再让asp程序过滤。总之要充分和有效地发挥数据库的强大功能,让它
按照我们的要求反馈给我们最合适和最精练的信息。
3在可能情况下我们应该使用sql server而不是access。因为access仅仅是基于文件的数据库,多用户性能很差。数
据库连接尽量使用oledb和非dsn方式,因为这种连接方式有更好的并发性能。
4避免使用dao(data access objects)和rdo(remote data objects)数据源,因为他们主要应用在单用户的处理
系统里,ado(activex data objects)才是为web应用设计的。
5建立记录集rescordset的时候要清晰合理地设置数据游标(cursort)和锁定方式(locktype)。因为在不同的方式下
asp会以不同的方式操纵数据库,其执行速度也有很大区别,尤其在大数据量的时候。如果你只想遍历数据,那么默认游标
(前进、只读)会带来最好的性能。
6当你引用ado变量的时候,会消耗较多的cpu周期。因此,如果在一个asp页面中多次引用数据库的字段变量,一个
较好的方式是将字段值先放入本地变量,然后可以直接调用本地变量来计算和显示数据。
7缓存ado connection对象也许不是一个好主意。如果一个连接(connection)对象被存储在application对象中而
被所有asp页面使用,那么所有页面就会争着使用这个连接。但是如果连接对象被存储在session对象中,就要为每个用户
创建一个数据库连接,这就减小了连接池的作用,并且增大了web服务器和数据库服务器的压力。可以用在每个使用ado的
asp页创建和释放ado对象来替代缓存数据库连接。因为iis内建了数据库连接池,所以这种方法非常有效,缺点是每个asp
页面都需要进行一些创建和释放操作。
8asp最强大和主要的用途之一就是对数据库进行操作,在数据库操作中我们要注意:不要任意使用“select
* ......” 形式的sql查询语句。应该尽量检索你所需要的那些字段。比如一个表中有10个字段,但是你只会用到其中的
一个字段(name),就该使用“select name from mytable”,而不是用“select * from mytable”。在字段数比较少
的时候,两者的区别可能并不明显,但是当一个表中拥有几十个字段的时候,数据库会多检索很多你并不需要的数据。在
这种情况下你最好不要为了节省打字时间或者害怕查找对应字段名称的麻烦,而要老老实实地使用“select id,name,
age... from mytable”。
9及时关闭打开的记录集对象以及连接(connection)对象。记录集对象和连接对象耗费系统资源相当大,因此它们的
可用数量是有限的。如果你打开了太多的记录集对象以及连接对象而最后却没有关闭它们,可能会出现asp程序刚开始的时
候运行速度很快,而多运行几遍就越来越慢的现象,甚至导致服务器死机。请使用如下方法进行关闭:
  myrecordset.closeset myrecordset=nothing
  set myconnection=nothing
10 连接数据库
   仍然使用odbc系统或者文件dsn来连接数据库,或者使用很快的oledb技术来连接。使用后者,当移动web文件时,不
再需要修改配置。
   oledb位于应用程序与odbc层之间。在asp页面中,ado就是位于oledb之上的程序。调用ado时,首先发送给oledb,然
后再发送给odbc层。可以直接连接到oledb层,这么做后,将提高服务器端的性能。怎么直接连接到oledb呢?
   如果使用sqlserver 7,使用下面的代码做为连接字符串:
strconnstring = "dsn='';driver={sql server};" & _
"uid=myuid;pwd=mypwd;" & _
"database=mydb;server=myserver;"

   最重要的参数就是“driver=”部分。如果你想绕过odbc而使用oledb来访问sql server,使用下面的语法:
strconnstring ="provider=sqloledb.1;password=mypassword;" & _
"persist security info=true;user id=myuid;" & _
"initial catalog=mydbname;" & _
"data source=myserver;connect timeout=15"

   为什么这很重要
   现在你可能奇怪为什么学习这种新的连接方法很关键?为什么不使用标准的dsn或者系统dsn方法?好,根据wrox在他
们的ado 2.0程序员参考书籍中所做的测试,如果使用oledb连接,要比使用dsn或者dsn-less连接,有以下的性能提高表
现:

性能比较

----------------------------------------------------------------------

sql access
oledb dsn oledb dsn
连接时间: 18 82 连接时间: 62 99
重复1,000个记录的时间: 2900 5400 重复1,000个记录的时间: 100 950

----------------------------------------------------------------------

   这个结论在wrox的ado 2.0程序员参考发表。时间是以毫秒为单位,重复1,000个记录的时间是以服务器油标的方式
计算的。


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:如何在oracle中用pl/sql产生随机数
下一篇:全面优化ado
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
sql server 7.0与以前的版本相比,安全
设置proxy server和sql server实现互联
microsoft sql server 7.0安全问题   
mysql安全性指南(3)(转)           
mysql安全性指南 (2)(转)          
在frontpage 2000中插入flash动画
用frontpage 2000使图像“减肥”
提高frontpage 2002使用效率
用frontpage 2000创建网页动画
用frontpage 2000巧做样式表
用frontpage 2000制作鼠标光照特效
用frontpage轻松转换图片格式
frontpage10全透视教程(9)
frontpage10全透视教程(8)
frontpage10全透视教程(7)
sql server 7.0与以前的版本相比,安全
sql简明教程(6)
sql简明教程(5)
sql简明教程(4)
sql简明教程(3)
qq珊瑚虫外挂4.0版本发布!
多个广告位招商!
摄影后期系列一:1分钟为数码相片去红眼
qq挂机说明
asp进度条
photoshop通道抠图:给秀发飞扬的mm照
教您显示器亮度对比度的调节
新版上线,今日正式开通!!!
更多精彩图文广告等着您!
asp中使用sql语句教程
sql简明教程(1)
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
用photoshop创意图形“岁月”
摄影后期系列一:1分钟为数码相片去红眼

 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息