DECLARE @userId INT
DECLARE newCur CURSOR FOR
SELECT DISTINCT USER
FROM User_Table --Count 3497
OPEN newCur
FETCH NEXT FROM newCur INTO @userId
WHILE (@@FETCH_STATUS <> -1)
BEGIN
EXEC sp_Updatedept @userId
SET @userId = ''
FETCH NEXT FROM newCur INTO @userId
END
CLOSE newCur
DEALLOCATE newCur
此查询运行3个小时,并且可以根据表记录的增加而扩展。
使用游标时,它非常慢并且会降低性能;我需要优化查询,使其可以在30分钟或更短的时间内运行。
非常感谢您对查询的任何建议或帮助。