读书人

储存过程运行时间超长,该如何解决

发布时间: 2013-12-26 00:35:35 作者: rapoo

储存过程运行时间超长
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列上建个左右试试。

读书人网 >SQL Server

热点推荐