| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 857 人关注过本帖
标题:[经验]渚薰的ASP畅谈(三)怎样提高ADO的性能☆☆☆
收藏  订阅  推荐  打印
渚薰
Rank: 12Rank: 12Rank: 12
等级:贵宾
帖子:1132
积分:12338
威望:22
注册:2006-8-6
[经验]渚薰的ASP畅谈(三)怎样提高ADO的性能☆☆☆

  • 我相信,大多数ASP程序员,并不会去学ADO这一门技术(甚至还有人懒的去学Tranc-SQL),因为ASP教程中的那部分ADO内容,已经足够应付ASP的数据库访问了。但是,ADO并不是ASP的附属产品。其强大的功能和内涵远远超过了ASP。不要抱怨为什么微软的东西那么复杂,关键是简单的东西,它一定不好。众多ASP教程里,ADO的内容,只是所有ADO技术中的小小一部分,甚至不会涉及到各种ADO数据库访问技巧的比较(具我所看的ASP教程里,每一本都是一种访问技巧讲到底)。所以,首先我要推荐大家去看看《ADO数据库访问技术》这一类的书。它会帮助你,深入的了解ADO,以便提高你在ASP中的应用。
  • 在ASP这样的Web脚本程序里,我们到底关心ADO的什么?当然是速度了!网络时代,速度优先嘛。还记得移动“打击”联通的那一段“猥琐”情节吗?“幸好我提前一周就发了 !”所以,当务之急,是提高ADO访问数据库的速度,甚至是性能。但是,ADO不就摆在眼前嘛?我们又不能改写ADO的内核,怎样才能提高呢?
  • 性能的提高
    • 尽可能早的断开数据库链接。特别是Connection链接。好在,IIS给Connection链接配备了一个默认的连接池,才使得用户不用每次打开页面就请求数据库的连接。要知道,链接数据库以及维持链接的开销远比数据库查询的开销要大!
  • 速度的提高
    • 用Connection或Command的Execute方法来执行不需要返回RecordSet对象的SQL语句,这类SQL语句就如INSERT,UPDATE,DELETE等。而SELECT等需要返回RecordSet对象的SQL语句,则直接用RecordSet对象的实例来执行SQL语句。
    • 操作临时表时,把Connection的CursorLocation属性设置成Client,并把RecordSet对象的LockType属性设置成adOpenStatic。
    • RecordSet的CursorType属性要符合应用程序的需要。因为显然adOpenForwardOnly是最快的数据库访问方式 ,能用它的时候就用它,不要总是用adOpenKeySet。
    • Select语句中的字段名,一般情况下需要用到多少就显示的列出多少。
    • 尽可能不要进行表连接查询,最好在数据库中预先建立好视图。
    • 复杂的参数化查询尽可能地用存储过程来达到数据库查询的目的。
  • 更多的ADO细节内容,希望大家能够参看更加权威的资料以获得知识。
2006-8-8 22:10
C363540711
Rank: 1
等级:新手上路
帖子:3
积分:130
注册:2006-10-21

辛苦了
2006-10-21 15:07
勇者RX
Rank: 2
等级:注册会员
帖子:63
积分:756
注册:2006-9-12

不错不错!

2006-10-22 12:28
orangehf
Rank: 1
等级:新手上路
帖子:33
积分:430
注册:2006-10-14

ADO原来这么强大!!
LZ辛苦啦~

2006-11-2 12:25
piaoxue
Rank: 4
等级:高级会员
帖子:573
积分:5850
威望:2
来自:地球
注册:2005-9-19

哎!  技术还是不行呀。  看不大明白!!!

我是做平面设计、网站制作、网站推广、主机域名等业务的站长,有事q我:86895535。
2006-11-2 13:48
神州游侠
Rank: 2
等级:注册会员
帖子:56
积分:660
注册:2006-5-20

收集中。。。

2007-1-2 00:46
cslldu
Rank: 2
等级:注册会员
帖子:58
积分:692
注册:2007-4-12

谢谢!辛苦了
2008-6-17 21:55
共有 856 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.067486 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved