易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql capi和odbc

odbc访问mysql效率是不是相当低啊。

做了个测试,表记录40000行
select a from test
用odbc查询,遍历总共耗时500ms
用capi查询,遍历总共耗时70ms

而且在sqlserver 上用ado测试了同样的表和查询,耗时400ms。

难道每个数据库都只能用自带的api接口吗,ado和odbc效率都这么差????
你掌握所有it技能和你精通lamp那个公司爱要


呵呵,楼上的不解。。。

按道理ado到oledb到api应该只是多了2层封装而已,,怎么查这么多。。是不是recordset的性能特别低?

API 是直接由MYSQL公司提供的,可以说连什么驱动都没有,是直接操作。当然会效率高很多。
而ODBC封装后,加了很多开放式标准化的东西在其中,包含对数据类型的转换,兼容等等。

所以会差很多也不奇怪。

odbc不用于ado
而oledb是odbc的前身吧

capi链接是mysql提供的直接用c语言进行链接
要知道mysql是c写的吧,效率当然高

这是个人认为懂的不是很多



搞明白了。谢谢楼上几位。

我用的是ado,myql没有好的oledb,所有只能ado调用odbc访问mysql。
sqlserver 用的是 ado调用oledb访问sqlserver。
一般oledb都是对capi的一层封装。那么用ado调用,最多只多了2层封装,慢10倍不可理解。

大概知道原因了,是数据集的问题。返回的4w行数据,不管odbc,ado都是面向对象的,构建了4w个row对象。capi都是句柄操作二进制。所以快。。。。



相关问答:

MySQL数据包过大

我用一个循环往数据库里面存文件,本来可以作为文件存放数据库里面只放文件的位置的,但是没有办法租的服务器网页空间大小有限制数据库没有限制。语句是这样的


public static final DataBase.MAXSIZE=102 ......

Winform+MySQL做项目

Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......

MySQL多线程

在进行数据库读写的时候,一般情况下都是单线程的,但是如何在操作的时候也使用多线程呢?使用多线程安全吗?多线程是如何保证安全的呢?如果有代码的话,贴出累或者把代码共享给我学习学习。。。多谢!
你是指外面 ......

mysql的驱动程序

我有一个java环境下的程序,在本机运行正常,但发布到网的虚拟主机时不能连接数据库连接池
jdk 1.6 tomcat6.0.18 mysql5 mysqljdbc5.1.5
虚拟主机的技术人员说,只能配置局域的数据库连接池,也就是在M ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号