日期:2014-05-17  浏览次数:20421 次

储存过程运行时间超长
19万的数据  一个存储过程运行了快四个小时还没结束   正常吗   又查看不了数据是否更新了
--update [NumsData]  set ShowHistory= dbo.GetHistory(IssueNum,[Name],NumSum,Result,History) where ShowHistory is null
update [NumsData]  set Showds= dbo.Getds(IssueNum,[Name],NumSum,Result,History) where Showds is null
上面是--号后是没改前的  下面一行是改了现在正在运行的   以前运行正常  但没一下更新这么多数据  所以不知道这次这么长时间是不是正常  

------解决方案--------------------
引用:
Quote: 引用:

这么长时间肯定不对的。
如果服务器使用现在中上硬件,并且这一列数据时数字型的话,这么点点数据应该是秒杀的。
你把函数代码贴出来看看,应该是函数里面有问题。


函数和储存过程都是一直在用的    今天运行的只是把储存过程里需要更新的列名改了下  别的什么都没改   都快六个小时候了  
那很有可能那些列没有索引,导致表扫描
------解决方案--------------------
问题解决了不,我觉得应该是阻塞的问题,另外,dbo.Getds这个函数,也有可能导致慢,还有最好在Showds列上建个左右试试。