CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VC.NET

测试oledb,ado,odbc的速度,为什么odbc最快?

楼主jerrey(米老鼠)2005-05-31 08:58:02 在 .NET技术 / VC.NET 提问

我写了个测试程序,  
  结果是odbc最快,ms不是说oledb最快吗??  
  各位大虾看看错在那里。  
  程序代码:  
  http://www.vchelp.net/copathway/project_file.asp?action=download&f_id=1686  
  问题点数:20、回复次数:7Top

1 楼steedhorse(晨星)回复于 2005-05-31 09:03:37 得分 0

gzTop

2 楼kaixin110(kydk.com)回复于 2005-05-31 09:03:44 得分 10

ODBC   是Open   Database   Connect   即开放数据库互连的简称,它是由Microsoft   公司于1991   年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库相关的操作,从而提供了数据库的独立性。  
      
    ODBC   主要由驱动程序和驱动程序管理器组成。驱动程序是一个用以支持ODBC   函数调用的模块,每个驱动程序对应于相应的数据库,当应用程序从基于一个数据库系统移植到另一个时,只需更改应用程序中由ODBC   管理程序设定的与相应数据库系统对应的别名即可。驱动程序管理器可链接到所有ODBC   应用程序中,它负责管理应用程序中ODBC   函数与DLL   中函数的绑定。  
      
    ODBC   使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC   都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC   一经推出就获得巨大成功的重要原因之一。  
      
    从结构上分,ODBC   分为单束式和多束式两类。  
      
    单束式驱动程序  
    单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。  
    当用户进行数据库操作时,应用程序传递一个ODBC   函数调用给ODBC   驱动程序管理器,由ODBC   API   判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。  
    由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。    
    多束式驱动程序  
    多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信协议的一个界面。  
    前端应用程序提出对数据库处理的请求,该请求转给ODBC   驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如Oracle   的SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式ODBC   驱动程序,再由驱动程序将结果传给应用程序。Top

3 楼jerrey(米老鼠)回复于 2005-05-31 09:14:54 得分 0

我想要知道的是oledb,ado,odbc三种驱动那个最快!Top

4 楼freddy2003()回复于 2005-06-01 13:42:49 得分 0

不可能吧!odbc应该是最慢的呀!  
  Top

5 楼CMIC(大象)回复于 2005-06-01 13:56:59 得分 5

不同的数据库会提供不同的oledb和odbc驱动,一般来说oledb要比odbc快,ado是oledb的封装。Top

6 楼jerrey(米老鼠)回复于 2005-06-01 14:15:36 得分 0

能把你的运行结果说一下吗?  
  我在xp下运行  
  oledb   70031  
  ado       93359  
  odbc     63860Top

7 楼hdt(倦怠)回复于 2005-06-01 19:46:00 得分 5

好像是  
  ado   基于oledb   ,    
  oledb   基于odbc  
  Top

相关问题

  • 请教ado连接到sql7使用oledb for sql与oledb for odbc的问题
  • 谁能讲讲odbc,oledb,ado之间的关系?
  • 如何测试利用ado和oledb访问sql2000是否成功?(win2k&vb6)
  • ADO、DAO和ODBC?
  • ADO 与 ODBC?
  • ADO ODBC 与excel
  • ado+odbc+db2
  • 关于DAO、ADO、ODBC......
  • 如何用ado连接sql,有例子吗?不要通过ODBC的要OLEDB引擎的,谢谢
  • 求购:使用ADO连接SQL Server2000的函数!每个10分!ODBC和OLEDB的方法!

关键词

  • 驱动
  • 数据库
  • 应用程序
  • 接口
  • 函数
  • 通信
  • 引擎
  • ado
  • 数据
  • 系统

得分解答快速导航

  • 帖主:jerrey
  • kaixin110
  • CMIC
  • hdt

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo