诸 诸葛白痴 Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-20 #1 小弟做一个比较大的存储过程,在查询分析器里执行只花将近3分钟,可是用ADO在前台 执行"EXEC 存储过程",竟然要20分钟,为什么这么夸张,哪位仁兄有解决过啊?
W watter Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-20 #3 没碰到过,你确定是这条语句的问题吗?会不会是其他地方的问题。 在执行这条语句前,是否已经用connection连接了数据库,是否通过网络连接数据库。 逐一确定问题的所在。
L LuJuhe Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-20 #4 是不是网络传输或者多次重建连接的原因? 我见过有人的程序,在LAN上10秒左右,到64K DDN上要5分钟。但是其实数据量并不大,在 SQL Plus里面也还可以。 后面检查发现他写了一个函数来取数据,每次取一条记录然后关 闭,在一个循环中调用了这个函数几十次。。。
是不是网络传输或者多次重建连接的原因? 我见过有人的程序,在LAN上10秒左右,到64K DDN上要5分钟。但是其实数据量并不大,在 SQL Plus里面也还可以。 后面检查发现他写了一个函数来取数据,每次取一条记录然后关 闭,在一个循环中调用了这个函数几十次。。。
P pengjinlongex Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-20 #5 如果该语句中有循环,且涉及循环更新、删除、插入等操作,这样会在前台与服务器之间 反复转换,这是最花时间的,如果这样,建议用存储过程,本人也碰到过相同的问题
诸 诸葛白痴 Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-20 #7 我所有的处理都在存储过程里,比较大,并且没有跟前台进行任何的数据交换了,只到 存储过程完毕为止啊
D desertsmoke Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-20 #8 这是正常的,分析器是先优化,后执行,说明你的SQL不是最优的,贴出来看看
D delphi平民 Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-20 #10 你是不是用了CURSOR且資料表很大 沒有解!!! 重新來過算了[]
T tuer Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-21 #11 如果涉及的表很大(不知你有没有建好索引),且查询条件涉及多重并列条件,可能会造成 这样。