sql server在执行update修改的时候半天执行不完,但是把他要修改的数据的select查询的0秒很快就出来了

u011010407 2015-10-20 12:00:38
执行select查询秒出结果,执行update半天都出不来直到超时,求大神帮忙!!!



Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

safety_activateLog:131055条
safety_code:1425744条

safety_activateLog where BatchCode='1445268400'
1083条

safety_code where lsstate=1
1165271条

表锁无:



...全文
966 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011010407 2015-10-23
  • 打赏
  • 举报
回复
引用 4 楼 yupeigu 的回复:
另外,分析2个语句的执行计划,都用 估计的执行计划,对比一下update和 select 在查找2个表的数据方面,有何不同
后来我发现查询和修改使用的不是同一个执行计划,也就是说修改没有走正常的索引导致超时,实际上我等了10多分钟终于执行玩了,后来用估计的执行计划一看原来是没有走索引。 谢谢各位的热心回答。
LongRui888 2015-10-20
  • 打赏
  • 举报
回复
另外,分析2个语句的执行计划,都用 估计的执行计划,对比一下update和 select 在查找2个表的数据方面,有何不同
LongRui888 2015-10-20
  • 打赏
  • 举报
回复
可能是阻塞导致的,你这样,先在第一个窗口 执行update语句, 然后再另一个窗口,其中的81是第一个创建的会话id: select * from sys.sysprocesses where spid = 81 看看是否有阻塞。
道玄希言 2015-10-20
  • 打赏
  • 举报
回复
有没有可能是阻塞了?
专注or全面 2015-10-20
  • 打赏
  • 举报
回复
看一下执行时间的等待信息,sysprocesses中的waittype,看看到底是因为什么类型的等待造成执行超时 或者你换一种写法再试试

22,301

社区成员

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

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