Оптимизировать запрос для повышения производительности
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 минут или меньше.
Любое предложение или помощь с запросом высоко ценится.