Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 更新查询依赖于子查询执行的结果即使经过很长时间也不会停止_Sql_Sql Server - Fatal编程技术网

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子句中的列上没有索引