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

ASP
一种比较方便的ASP分页程序
用一套论坛程序架设多个论坛
ASP与ASP.NET在COOKIE方面的区别
较长数据无法在Asp页面中取出的三种解决方法
初试WAP之wml+ASP查询
动态网站首页的静态生成方法
使用正则表达式实现模式图片新闻.ASP
让你的WAP网站有更好的兼容性
WAP版的手机号码所在地查询
asp模仿 Lotus Notes 的界面程序
ORACLE920与ASP的连接问题的解决办法
利用SQLSERVER存储过程实现ASP用户身份验证
在ASP中自动创建多级文件夹的函数(使用FSO)
利用instr()函数防止SQL注入攻击
利用XSL和ASP实现XML文档在线编辑
表单对象textarea内容的格式控制(回车、换行、空格)
针对select写了一个通用的option输出函数
ASP无组件BMP汉字生成类+汉字点阵库
时间、空间性能极优的asp无组件上传类
无组件生成BMP验证码

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


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