Создал следующий скрипт для загрузки учетных записей пользователей. Использовала строку параметров для имени пользователя при первоначальном тестировании в студии управления. Нечетная вещь после того, как я изменился с строки параметров на строковый литерал, запрос замедлился на 20 секунд. Разве это не так, как правило, для нюхания параметров? Я пробовал DBCC FREEPROCCACHE и создал хранимую процедуру с настройкой некоторых локальных варов, но это не ускорило запрос. Какие-либо предложения?Параметр предложения SQL Where быстрее, чем строковый литерал. Как мне исправить?
DECLARE @accntRep VARCHAR(50)
SET @accntRep = 'someUserName'
SELECT accntRep,transBalance FROM companyView AS cv
OUTER APPLY
(SELECT SUM(CASE WHEN pastdue > 0 THEN balance ELSE 0 END) AS pastDueBalance,
SUM(balance) AS transBalance FROM pastDueView WHERE compID = cv.compID
) AS balance
WHERE
-- accntRep = @accntRep
accntRep = 'someUserName'
GROUP BY accntRep,transBalance
Восстановительный индекс работал. Я чувствую себя немного глупо. Спасибо что подметил это. – user1777129