Ich habe eine Ansicht, die schnell läuft (< 1 s), wenn Sie einen Wert in der Angabe, wo Klausel:T-SQL Wählen Sie aus Sicht viel langsamer mit variabler
SELECT *
FROM vwPayments
WHERE AccountId = 8155
... aber läuft langsam (~ 3s), wenn dieser Wert eine Variable ist:
DECLARE @AccountId BIGINT = 8155
SELECT *
FROM vwPayments
WHERE AccountId = @AccountId
Warum ist der Ausführungsplan für die zweite Abfrage anders? Warum läuft es so viel langsamer?
forceseek hat gut funktioniert – Domenic
Seien Sie einfach vorsichtig damit, Sie können in viele Schwierigkeiten geraten, wenn Sie versuchen, intelligenter als die Abfrage-Engine zu sein. – RThomas