详细解读ADO操作相关操作

开发 后端
我们所做的工作、所编写的代码、所构造的ADO操作,都属于非常复杂的东西许多不断变化的因素影响着它们。理解了这一点之后。

进行ADO操作时需要注意相关的问题,你还可以使用另外一种方法。vbdata-l@peach.ease.lsoft.com列表服务上一场长时间的讨论得出了一种我称之为预先绑定(Prebinding)的方法,如果你对本文所讨论的某一项技术感兴趣

当你只需引用Field对象一次时,这种技术没有什么帮助;但在客户机/服务器应用中,预先绑定方法非常理想。使用这种方法时,你要创建多个独立的、命名的Field对象,并把这些对象设置为Recordset对象Fields集合中的成员。编写代码的时候,你首先要为每一个想要使用的字段创建一个命名的Field对象,例如: 

在编写代码的时候,你还必须考虑到其他一些影响性能的因素。其中一些因素与ADO没有什么关系——它们与COM有关。Microsoft最近的一份白皮书指出,在Windows   2000   ASP页面中执行ADO操作(连接,查询,处理)要比调用COM组件执行同样的代码更快。

这个结论并不令人奇怪:当我们从VB调用一个外部COM组件(处于当前进程之外的一些代码),访问COM组件以及把控制传递给ADO操作时在后台进行的操作复杂得出奇,而且速度很慢。虽然我们没有必要刻意避免调用COM组件去运行ADO代码。

但是,我们不应该简单地把多个独立的ADO操作封装成大量的小型COM组件,然后在需要的时候每次都去调用它们。相反,ADO操作我们应该尽量把全部逻辑封装到一个COM组件里面,使得程序只需一次调用,COM就能够完成大多数(如果不是全部)操作。

我相信,你已经发现运行二进制形式的(例如COM组件)ADO代码要比运行ASP之类的解释执行代码要快。因此,你应该寻找一些方法,减少进入COM组件和从COM组件返回所需要的昂贵开销。#t#
   
如果你离不开Command对象,或者不能预先绑定Field对象并在必要时重用,那么你应该考虑避免多余的对象创建操作的技术。在这种情况下,ADO操作把存储过程作为Connection对象的方法调用有着更重要的意义。另外,用先行绑定的方式引用Field属性也有助于改善性能。记住操作完成后必须进行的清理工作:关闭Connection和Recordset对象,然后把它们设置成Nothing。    
   
为了让代码和代码编写者都表现出***的性能,请记住以下基本规则:利用连接池和异步连接;减少ADO代码和数据库服务器通信的次数;选用一种COM-先行绑定技术;除非必要,尽量避免使用代价昂贵的ADO操作,例如Recordset和Command对象;

如有可能,用Return   Status和Output参数替代记录集。尽可能地提高查询的效率,如有可能,ADO操作不要忘了利用存储过程。详细地告诉ADO你想要它做些什么,避免让ADO猜测你的意图——显式地指定ADO   CommandType,使用adExecuteNoRecords之类的选项。   

责任编辑:chenqingxiang 来源: 计世网
相关推荐

2009-12-22 10:15:17

ADO.NET规则

2009-12-28 13:23:38

ADO Records

2009-12-25 16:26:03

ADO.NET控制

2009-12-30 16:45:31

ADO操作

2009-12-21 17:35:24

ADO.NET对象

2009-12-28 14:47:53

ADO工具

2009-12-30 11:13:28

ADO.NET操作

2009-12-28 15:46:22

ADO.NET操作

2009-12-29 13:31:55

ADO连接ACCESS

2010-01-04 14:54:08

ADO参数

2009-12-25 16:51:37

ADO参数

2009-12-28 08:54:58

ADO错误

2009-12-21 17:39:02

ADO.NET操作

2009-12-28 15:32:04

ADO.NET构造

2010-03-05 09:33:05

Python实现tab

2010-01-05 09:36:40

ADO超时

2010-03-03 17:21:42

Python操作注册表

2010-01-07 17:51:36

VB.NET实现Sin

2009-12-16 14:33:21

Ruby哈希表

2009-12-28 10:03:58

ADO 对象
点赞
收藏

51CTO技术栈公众号