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条

表锁无:



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

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-10-20 12:00
社区公告
暂无公告