|
|
连接WEB数据库的ADO性能提高技巧 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
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 的性能。 |
如果你正在开发一个APS页面的应用程序,在一个Command 或Recordset 对象的ActiveConnection 属性中复用现有的ADO Connection 对象。因为当ADO暗中打开或建立一个Connection 对象时,通过运用这种方法你可以避开一些额外的开销。 |
虽然ADO能够动态地决定一个Command 对象所使用的各种参数属性,较好地缩短开发周期,但是这种特性,在应用程序中非常典型地增加了服务器的环路,在一定程度上降低了ADO 的性能。所以,明确地定义一个参数的Type, Direction and Size 可以减少应用程序给服务器造成的环路数量。 |
ADO的CacheSize 影响服务器方面的Keyset游标及静态和动态的Recordsets。 在CacheSize的默认设置下,ADO在修改和合并操作时工作状态良好,但如果应用程序需要恢复大量的数据,就需要增加这个值。缩减服务器的环路数,是提高ADO和SQL SERVER应用程序性能的关键。 |
有时,使用游标来进行修改操作几乎是不可避免的。然而,修改游标可能带来额外的开销,从而降低性能。但如果试图使用包含着T-SQL Insert、Update、delete 语句的Command 对象来对服务器进行发送修改操作可以使开发者得到较好的性能。 |
6.在Recordset对象中使用指针快速前移方法 |
最好的ADO数据更新性能来自于在Recordset对象中使用指针快速前移方法。一旦你设定一个Recordset 对象为前移,只读和带有值1的CacheSize,ADO就会在该对象中自动生成一个快速前移的指针。这种方法使得大量的数据伴随着很低的开销从SQL Server流向Client 端。 |
使用较好的SQL是从ADO和所有以SQL为基础的数据存取技术获得较好性能的最好方法。当你建立SQL一个语句,包含你真正需要的一些行和列的时候,充分利用SQL内置的存贮过程,可以使得服务器有效地处理所有的数据更新需求。 | 
|
|
相关文章:相关软件: |
|