详细解读ADO操作相关操作
创始人
2024-06-18 10:51:50
0

进行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之类的选项。   

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...