请问VC连接SQL Server,哪种方式最快?

sigh02 2003-12-20 06:05:57
SQL Server就在本地,对它操作,请问哪种方式最快?
ODBC?
ADO?
还是OLE DB?
DAO?

如果不用C++,只用C呢?哪种方法最快?
好像只能用ODBC连接SQL Server了,还有DB library?

请问,这些方法里面哪种最快?占用系统资源应该都差不多吧?

因为我对SQL Server的操作很多,所以速度要求很重要。
请大家多多发表意见啊
...全文
192 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
DarkShow 2004-02-11
  • 打赏
  • 举报
回复
说ADO的都是乱说。如果从编程角度上来说,最快的是OLE DB。

如果光从技术上来说,是查询分析器,微软曾经有个讲座,专门论述了这个问题。

恰好当时我在场,查查应该查得到。
zhaoloudy 2004-02-11
  • 打赏
  • 举报
回复
DB library最快了,没有任何包装,直接用数据流通讯。正真的纯API调用,windows都可以不要,DOS下就可以操作SQLserver数据库。没有比这快的。不过技术落后了,没多少人会了。
安琪有纪 2004-02-11
  • 打赏
  • 举报
回复
怎么结果差这么多...
有权威点的答案么?
QunKangLi 2004-01-12
  • 打赏
  • 举报
回复
写个线程执行SQL语句


osborn 2004-01-12
  • 打赏
  • 举报
回复
这样争是不会有什么结果的。写个例子测试一下很难吗?
nonocast 2004-01-10
  • 打赏
  • 举报
回复
肯定是ODBC最快
最底层的
像ADO都用了COM
怎么快!
sigh02 2004-01-10
  • 打赏
  • 举报
回复
我是在本地操作本地的SQL Server,在这种情况下,odbc是否能快一些啊?
eeixy2000 2004-01-09
  • 打赏
  • 举报
回复
ODBC 是比较慢的,特别是通过网络进行存取尤其慢,ODBC慢的原因不是API,而是ODBC要通过中间接口层,然后对应到相应的数据库ODBC驱动程序,这个中间接口层才是速度的瓶颈。
shenke410 2004-01-09
  • 打赏
  • 举报
回复
同意楼上的意见。
但我还想用ADO。
nonocast 2004-01-09
  • 打赏
  • 举报
回复
ODBC最快
1000,1万,20万条分别测试过
都是ODBC
表和我争
怎么想都不可能是ADO快的

OLEDB都比ADO快
卡门9527 2004-01-09
  • 打赏
  • 举报
回复
ADO,使用简单,稳定,效率也不错。
chehw 2004-01-09
  • 打赏
  • 举报
回复
#include <odbcss.h>
// 除常用的属性外,ODBC中还有其他几十种支持SQLServer的属性。
//如SQL_COPT_SS_QUOTED_IDENT、SQL_COPT_SS_PERF_QUERY、SQL_COPT_SS_BROWSE_CONNECT等。
SQLSetConnectAttr(hdbc,
SQL_COPT_SS_QUOTED_IDENT,
SQL_QI_ON,
NULL,
0);

//个人认为没有必要太盲从于新技术,ODBC的优势在于可以使用同一套调用方式,灵活处理种种类型的数据库,如果掌握得好,程序可以很清晰简洁,且易于调试。
//在不同类型的数据库间相互转换也很方便,如Access<->Excel<->VFP<->SQLServer等。



osborn 2004-01-04
  • 打赏
  • 举报
回复
Ole DB
sigh02 2004-01-04
  • 打赏
  • 举报
回复
ODBC的功能很有限,好像,例如连接SQL Server,开头有些set
set quoted_identifier on
等等
在哪里设置啊?
sigh02 2003-12-28
  • 打赏
  • 举报
回复
我就是在连接本地SQL Server,本地执行,客户端和服务器端在一起。
请问这样的情况下也用ADO吗?
总感觉包装得太多,效率应该会下降吧?
另外,我现在用的是odbc,每次执行完一条SQL语句,都要释放一次
然后再重新allochandle一次,我觉得很慢
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);
retcode = SQLExecDirect(hstmt1,(unsigned char *)szSQL,SQL_NTS);
SQLFreeHandle(SQL_HANDLE_STMT, hstmt1);

可是应该可以一次allochandle,然后就不停的用啊,到最后在free啊!
panzhaoping 2003-12-28
  • 打赏
  • 举报
回复
ODBC
sigh02 2003-12-22
  • 打赏
  • 举报
回复
我现在追求速度
建立一个连接,然后在这个连接上要不停的执行SQL语句。
语句的数量非常多,所以速度很重要。
lygfqy 2003-12-22
  • 打赏
  • 举报
回复
我个人认为ado的速度不错,写起来也是比较容易上手
sxslyy 2003-12-22
  • 打赏
  • 举报
回复
支持ADO
dreamfly8848 2003-12-21
  • 打赏
  • 举报
回复
ADO,
加载更多回复(16)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧