Вы уверены, что это так?
Обычно параметризованный запрос будет медленнее, потому что SQL Server заранее не знает, каким будет параметр.Константу можно оптимизировать сразу же.
Здесь следует отметить одну вещь о типах данных ... что она делает:
SELECT * FROM tblEmployee WHERE ID = CAST(5 as bigint)
Кроме того, измените порядок выполнения.Мы увидели что-то странное на днях, и планы изменились, когда мы изменили порядок.
Другой способ, идентификатор маски для удаления «сниффинга параметров» влияет на первый запрос.И разница?
DECLARE @ID BIGINT
SET @ID = 5
DECLARE @MaskedID BIGINT
SET @MaskedID = @ID
SELECT * FROM tblEmployee WHERE ID = @MaskedID
Наконец, добавьте OPTION (RECOMPILE) к каждому запросу.Это означает, что план отбрасывается и не используется повторно, поэтому он компилируется по-разному.