小编use*_*216的帖子

使用join进行更新需要很长时间

我在更新表时遇到问题.我正在运行以下查询:

UPDATE Table1 SEt entrena = c.Count 
FROM Table1 AS p INNER JOIN (
SELECT e.EmplID, COUNT(e.EmplID ) as Count 
FROM Table2 AS e WHERE e.Start >= @Start AND e.Start <=@End 
GROUP BY e.EmplID ) AS c ON p.EmplID = c.EmplID
WHERE P.Date  = '2050-12-31'
Run Code Online (Sandbox Code Playgroud)

Table1有12000行,连接中的select只有51行,但更新大约需要2分钟,但是如果我删除where clase p.date = '2050-12-31',则更新只需不到一秒钟.我无法弄清楚如何解决它.我正在使用SQL Server 2008.

两个表都没有索引.

sql t-sql sql-server-2008 database-performance

2
推荐指数
1
解决办法
1022
查看次数