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

------解决思路----------------------
看一下执行时间的等待信息,sysprocesses中的waittype,看看到底是因为什么类型的等待造成执行超时
或者你换一种写法再试试
------解决思路----------------------
有没有可能是阻塞了?
------解决思路----------------------
可能是阻塞导致的,你这样,先在第一个窗口 执行update语句,
然后再另一个窗口,其中的81是第一个创建的会话id:
select * from sys.sysprocesses where spid = 81
看看是否有阻塞。
------解决思路----------------------
另外,分析2个语句的执行计划,都用 估计的执行计划,对比一下update和 select 在查找2个表的数据方面,有何不同
执行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条
表锁无:
------解决思路----------------------
看一下执行时间的等待信息,sysprocesses中的waittype,看看到底是因为什么类型的等待造成执行超时
或者你换一种写法再试试
------解决思路----------------------
有没有可能是阻塞了?
------解决思路----------------------
可能是阻塞导致的,你这样,先在第一个窗口 执行update语句,
然后再另一个窗口,其中的81是第一个创建的会话id:
select * from sys.sysprocesses where spid = 81
看看是否有阻塞。
------解决思路----------------------
另外,分析2个语句的执行计划,都用 估计的执行计划,对比一下update和 select 在查找2个表的数据方面,有何不同