当前位置: 首页 > 图文教程 > 网络编程 > ASP > 连接WEB数据库的ADO性能提高技巧

ASP
自动采集程序
一个防止被采集的方法
帮你打造属于自己的搜索引擎---百度篇
实例讲解ASP实现抓取网上房产信息
XMLHTTP批量抓取远程资料
XMLHTTP抓取远程数据的后期处理
用XMLHTTP很好的一个例子
采集原理---采集技术篇---XMLHTTP
小偷,采集程序常用函数
服务器常用组件
如何在不支持数据库的asp主页上运用ado
做文章系统时, 如何让长篇的文章自动换行
Access中使用Create Procedure创建存储过程
ASP中的时间函数大全 时间操作函数
无组件实现文件上传/下载
asp网页邮箱访问
不用模板只用ASP+FSO生成静态HTML页的一个方法
用sql设置access的默认值
Asp事务处理
统计有多少行JS代码和ASP代码

ASP 中的 连接WEB数据库的ADO性能提高技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 107 ::
收藏到网摘: n/a

  ADO(ActiveX Data Object)是ASP的重要组件,内置于ASP。ASP用Database Access组件与后台数据库进行连接。Database Access 组件通过 ADO 访问存储在数据库或其他表格化数据库结构中的信息。因此,与过去编写CGI程序访问数据库信息相比,ADO已成为当今开发者们最喜欢的恢复和修改SQL_SERVER数据库数据的常用Database Access 组件。然而,ADO的默认设置并不总是最优化的设置,要想开发出强大的基于Client/Server和Web的应用程序,有必要研究一下如何提高它的性能。实践证明,可以从7个方面来提高ADO的性能。
1. 使用本地SQL SERVER OLE DB Provider属性
Microsoft 对应用程序访问各种各样的数据源所使用的方法是OLE DB,OLE DB介于ODBC(开放式数据库连接标准)层和应用程序之间。在你的ASP页面中,ADO介于OLE DB之上的“应用程序”。你的ADO调用首先被送到OLE DB,然后送到ODBC层。OLE DB是一套组件对象模型(COM)接口。一般情况下,ADO默认,一个ADO Recordset 对象使用OLE DB Provider 作为 ODBC来连接SQL SERVER。然而,本地的OLE DB Provider 给SQL SERVER 提供了较短的代码路径,而这往往会较大地提高ADO 的性能。
2.复用现有的Connection 对象
如果你正在开发一个APS页面的应用程序,在一个Command 或Recordset 对象的ActiveConnection 属性中复用现有的ADO Connection 对象。因为当ADO暗中打开或建立一个Connection 对象时,通过运用这种方法你可以避开一些额外的开销。
3.明确地定义各种参数
虽然ADO能够动态地决定一个Command 对象所使用的各种参数属性,较好地缩短开发周期,但是这种特性,在应用程序中非常典型地增加了服务器的环路,在一定程度上降低了ADO 的性能。所以,明确地定义一个参数的Type, Direction and Size 可以减少应用程序给服务器造成的环路数量。
4.调整缓冲区的大小
ADO的CacheSize 影响服务器方面的Keyset游标及静态和动态的Recordsets。 在CacheSize的默认设置下,ADO在修改和合并操作时工作状态良好,但如果应用程序需要恢复大量的数据,就需要增加这个值。缩减服务器的环路数,是提高ADO和SQL SERVER应用程序性能的关键。
5.使用Command 对象代替游标
有时,使用游标来进行修改操作几乎是不可避免的。然而,修改游标可能带来额外的开销,从而降低性能。但如果试图使用包含着T-SQL Insert、Update、delete 语句的Command 对象来对服务器进行发送修改操作可以使开发者得到较好的性能。
6.在Recordset对象中使用指针快速前移方法
最好的ADO数据更新性能来自于在Recordset对象中使用指针快速前移方法。一旦你设定一个Recordset 对象为前移,只读和带有值1的CacheSize,ADO就会在该对象中自动生成一个快速前移的指针。这种方法使得大量的数据伴随着很低的开销从SQL Server流向Client 端。
7.使用最好的SQL
使用较好的SQL是从ADO和所有以SQL为基础的数据存取技术获得较好性能的最好方法。当你建立SQL一个语句,包含你真正需要的一些行和列的时候,充分利用SQL内置的存贮过程,可以使得服务器有效地处理所有的数据更新需求。