为什么同样的SQL语句在ADOQuery和QUERY Analyzer中执行速度不一样?

ynlws 2002-08-17 10:41:42
1、
Query->sql->text="exec myproc '2002-8-1','02'";
query->execsql();

2、在SQl QUERY Analyzer 中输入 exec myproc '2002-8-1','02'

3、在SQL profiler 中检测到按第一种方式执行时,出现很多中间过程,而二种方式则只是出现一条语句?为什么?

4、怎么解决?请高手执教
...全文
14 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynlws 2002-08-18
  • 打赏
  • 举报
回复
请继续关注:

在bcb中有没有类似SQl QUERY Analyzer的执行方法?
IT-司马青衫 2002-08-18
  • 打赏
  • 举报
回复
这么简单的问题
ADO要通过中间接口,它要通过OLE DB FOR SQL SERVER
QUERY Analyzer直接使用SQL SERVER
就象用C++Builder和Win32ASM开发Windows应用程序
在大小,内存占用上,执行速度上有着天壤之别

耙子 2002-08-18
  • 打赏
  • 举报
回复
"我使用ADO中的Query

请教:
不是说Query的SQL属性可以直接传送到SQL server中吗?"

ADO也要翻译你的SQL呀,不可能直接送到SQL Server上的,ADO和SQLServer之间倒地干了什么你在执行ADOQuery的SQL的时候没办法控制。
coolpony 2002-08-18
  • 打赏
  • 举报
回复
关注。。。
应该要通过ole或bde才能和sql连接吧。/
ynlws 2002-08-18
  • 打赏
  • 举报
回复
我使用ADO中的Query

请教:
不是说Query的SQL属性可以直接传送到SQL server中吗?
耙子 2002-08-17
  • 打赏
  • 举报
回复
1.我想那些中间过程应该是BDE自己内部生成的。
TQueryz访问SQLServer的方法一般是

Query->BDE->SQLServer
或者
Query->BDE->ODBC->SQLServer

你用的那个方式?
BDE通常都会把我们用的sql语句,转换成它内部的东西,然后BDE在和SQLServer操作。
这个东西可能会影响效率,但通常不影响结果。

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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