储存过程运行时间超长

beil0eve 2013-12-03 08:04:52
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
上面是--号后是没改前的 下面一行是改了现在正在运行的 以前运行正常 但没一下更新这么多数据 所以不知道这次这么长时间是不是正常
...全文
207 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 2013-12-04
  • 打赏
  • 举报
回复
问题解决了不,我觉得应该是阻塞的问题,另外,dbo.Getds这个函数,也有可能导致慢,还有最好在Showds列上建个左右试试。
beil0eve 2013-12-03
  • 打赏
  • 举报
回复
引用 8 楼 DBA_Huangzj 的回复:
加我关注..
加了
發糞塗牆 2013-12-03
  • 打赏
  • 举报
回复
加我关注..
beil0eve 2013-12-03
  • 打赏
  • 举报
回复
引用 4 楼 DBA_Huangzj 的回复:
SELECT * FROM sys.dm_os_waiting_tasks WHERE session_id= 把你哪个update语句的会话ID填进去
主要是我很少用到数据库 对数据库不是很熟悉 能加个Q帮忙解决下吗
發糞塗牆 2013-12-03
  • 打赏
  • 举报
回复
引用 5 楼 beil0eve 的回复:
[quote=引用 1 楼 shoppo0505 的回复:] 这么长时间肯定不对的。 如果服务器使用现在中上硬件,并且这一列数据时数字型的话,这么点点数据应该是秒杀的。 你把函数代码贴出来看看,应该是函数里面有问题。
函数和储存过程都是一直在用的 今天运行的只是把储存过程里需要更新的列名改了下 别的什么都没改 都快六个小时候了 [/quote]那很有可能那些列没有索引,导致表扫描
beil0eve 2013-12-03
  • 打赏
  • 举报
回复
引用 1 楼 shoppo0505 的回复:
这么长时间肯定不对的。 如果服务器使用现在中上硬件,并且这一列数据时数字型的话,这么点点数据应该是秒杀的。 你把函数代码贴出来看看,应该是函数里面有问题。
函数和储存过程都是一直在用的 今天运行的只是把储存过程里需要更新的列名改了下 别的什么都没改 都快六个小时候了
發糞塗牆 2013-12-03
  • 打赏
  • 举报
回复
SELECT * FROM sys.dm_os_waiting_tasks WHERE session_id= 把你哪个update语句的会话ID填进去
beil0eve 2013-12-03
  • 打赏
  • 举报
回复
sql是2008的 我用300条数据测试过 是没有问题的 很快通过 但是19万数据到现在还没好 真郁闷 已经快六个小时了
發糞塗牆 2013-12-03
  • 打赏
  • 举报
回复
目测是锁问题,sqlserver什么版本的
shoppo0505 2013-12-03
  • 打赏
  • 举报
回复
这么长时间肯定不对的。 如果服务器使用现在中上硬件,并且这一列数据时数字型的话,这么点点数据应该是秒杀的。 你把函数代码贴出来看看,应该是函数里面有问题。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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