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

ASP
用ASP实现自动建站.实现虚拟二级目录
ASP关于动态数据显示页面得锚点
adodb.stream对象的方法/属性
在ASP/ASP.NET 中处理客户端数字证书
用ASP实现汉字转拼音的功能
在PPC上实现编译ASP
简单快捷实现ASP在线发邮件功能
javascript在ASP中实现掩码文本框
ASP写的自动生成SELECT表单的函数
全面了解Cookie的传递流程、编程实现及安全问题
ASP生成XBM图可用作验证码
改进的ASP备份SQL Server数据库
关于SELECT的无限级联(省|市|县|乡|村|...)
XML技术上传文件
使用ASP实现文件上载(上传)的各种方法
输出带日期格式的随机数.asp
一个高效的数据分页的存储过程
用ASP实现长文章用分页符来分页显示
一个改进的ASP生成SQL 命令字符串的类
一点ASP问题、差错和个人心得

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 37 ::
收藏到网摘: 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内置的存贮过程,可以使得服务器有效地处理所有的数据更新需求。