【发布时间】:2018-09-12 04:41:06
【问题描述】:
我有一个参数化查询,看起来像(使用 ? 作为应用程序参数):
SELECT * FROM tbl WHERE tbl_id = ?
像这样添加变量对性能有何影响:
DECLARE @id INT = ?;
SELECT * FROM tbl WHERE tbl_id = @id
我曾尝试调查自己,但除了在第一次运行查询时编译查询计划需要稍长一点的时间之外没有运气。
【问题讨论】:
-
这只是一个查询还是写在一个存储过程中?上面的@Alex 链接非常适合阅读,如果它是存储过程中的内容
-
不在存储过程中,因此不应应用参数嗅探。
标签: sql sql-server tsql sql-execution-plan