Sql 更新查询依赖于子查询执行的结果即使经过很长时间也不会停止
以下是我的查询无法更新时执行的表得到锁执行甚至没有停止一个小时Sql 更新查询依赖于子查询执行的结果即使经过很长时间也不会停止,sql,sql-server,Sql,Sql Server,以下是我的查询无法更新时执行的表得到锁执行甚至没有停止一个小时 update Employees set Status = 'Close' where statusid IN (select statusid from MyView where DownloadedDate ='2014-07-27 00:00:00.000') 这里的员工包含300000条记录和 子查询返回1,50000 Empid 我用各种方法试了两天
update Employees
set Status = 'Close'
where statusid IN (select statusid
from MyView
where DownloadedDate ='2014-07-27 00:00:00.000')
这里的员工包含300000条记录和
子查询返回1,50000 Empid
我用各种方法试了两天,但都解决不了
即使使用光标,其也不工作Try存在,而不是在:
update Employees
set Status = 'Close'
where exists(select 1
from MyView
where DownloadedDate ='2014-07-27 00:00:00.000'
and MyView.statusid = Employees.statusid)
如果不起作用,您应该创建一个表而不是视图,以了解视图是否存在任何问题
使用查询计划分析步骤和成本 什么是“拉克斯”?另外,您的意思是子查询返回150万行吗?Employees表上的Empid上是否有索引?请尝试单独运行子查询?如果速度慢,可能是由于视图的原因,您没有为其显示代码。sub query返回1,50000行,并且where子句中的列上没有索引