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

sql server在执行update修改的时候半天执行不完,但是把他要修改的数据的select查询的0秒很快就出来了
执行select查询秒出结果,执行update半天都出不来直到超时,求大神帮忙!!!
sql server在执行update批改的时候半天执行不完,但是把他要修改的数据的select查询的0秒很快就出来了
sql server在执行update批改的时候半天执行不完,但是把他要修改的数据的select查询的0秒很快就出来了

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条

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



------解决思路----------------------
看一下执行时间的等待信息,sysprocesses中的waittype,看看到底是因为什么类型的等待造成执行超时

或者你换一种写法再试试
------解决思路----------------------
有没有可能是阻塞了?
------解决思路----------------------

可能是阻塞导致的,你这样,先在第一个窗口 执行update语句,

然后再另一个窗口,其中的81是第一个创建的会话id:

select * from sys.sysprocesses where spid = 81

看看是否有阻塞。
------解决思路----------------------

另外,分析2个语句的执行计划,都用 估计的执行计划,对比一下update和 select 在查找2个表的数据方面,有何不同