| 域名空间 下载中心 社区论坛 信息公告 my小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
|
系,正是数据库给站点提供了大容量、多样性、个性化等特色,并实现了很多特殊的功能。 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 页面都需要进行一些创建和释放操作。 8asp最强大和主要的用途之一就是对数据库进行操作,在数据库操作中我们要注意:不要任意使用“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,使用下面的语法: 为什么这很重要 性能比较 ---------------------------------------------------------------------- sql access ---------------------------------------------------------------------- 这个结论在wrox的ado 2.0程序员参考发表。时间是以毫秒为单位,重复1,000个记录的时间是以服务器油标的方式 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:如何在oracle中用pl/sql产生随机数 下一篇:全面优化ado 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 相关文章 | ||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||