SQL Server:查询分析器-2分钟,前台代码调用-20分钟,为什么差这么远,有没办法加快?(100分)

  • 主题发起人 主题发起人 诸葛白痴
  • 开始时间 开始时间

诸葛白痴

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟做一个比较大的存储过程,在查询分析器里执行只花将近3分钟,可是用ADO在前台
执行"EXEC 存储过程",竟然要20分钟,为什么这么夸张,哪位仁兄有解决过啊?
 
没碰到过,希望解决了,将答案公布一下[:D]
 
没碰到过,你确定是这条语句的问题吗?会不会是其他地方的问题。
在执行这条语句前,是否已经用connection连接了数据库,是否通过网络连接数据库。
逐一确定问题的所在。
 
是不是网络传输或者多次重建连接的原因?

我见过有人的程序,在LAN上10秒左右,到64K DDN上要5分钟。但是其实数据量并不大,在
SQL Plus里面也还可以。 后面检查发现他写了一个函数来取数据,每次取一条记录然后关
闭,在一个循环中调用了这个函数几十次。。。
 
如果该语句中有循环,且涉及循环更新、删除、插入等操作,这样会在前台与服务器之间
反复转换,这是最花时间的,如果这样,建议用存储过程,本人也碰到过相同的问题
 
你存储过程有毛病,贴出来看看!!
 
我所有的处理都在存储过程里,比较大,并且没有跟前台进行任何的数据交换了,只到
存储过程完毕为止啊
 
这是正常的,分析器是先优化,后执行,说明你的SQL不是最优的,贴出来看看
 
你的存储过程已经太费时间了,重新写吧
 
你是不是用了CURSOR且資料表很大
沒有解!!!
重新來過算了[:)]
 
如果涉及的表很大(不知你有没有建好索引),且查询条件涉及多重并列条件,可能会造成
这样。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
601
import
I
后退
顶部