Sql 操作员内性能

Sql 操作员内性能,sql,sql-server,Sql,Sql Server,如果在我的WHERE子句中有类似的内容,是否有可能出现性能差异: ... Where FieldID IN (35) 而不是 ... Where FieldID = 35 阅读您的“预计执行计划”和“实际执行计划” (简而言之:比赛你的马。) 您可以下载Microsoft的“Adventure Works 2012”演示数据库以获取更大的示例。发现: 不,查询优化程序在生成查询计划时将它们视为等价的。我想是这样的。你能帮我找到证据吗?毫无疑问,它会影响将索引应用于列的方式。那么,为这两个列

如果在我的
WHERE
子句中有类似的内容,是否有可能出现性能差异:

... Where FieldID IN (35)
而不是

... Where FieldID = 35

阅读您的“预计执行计划”和“实际执行计划”

(简而言之:比赛你的马。)


您可以下载Microsoft的“Adventure Works 2012”演示数据库以获取更大的示例。发现:


不,查询优化程序在生成查询计划时将它们视为等价的。我想是这样的。你能帮我找到证据吗?毫无疑问,它会影响将索引应用于列的方式。那么,为这两个列生成查询计划,看看它们是否相同?没有区别,优化器足够聪明。但总的来说,我绝对不怀疑,但我知道从实践经验来看,它们是等效的,所以我没有参考文件来指。老实说,我宁愿通过查看查询计划来测试这类事情,而不是通过查看RDBMS查询优化程序的深入文档!对于琐碎的查询,计划看起来是一样的。很难分析现实生活中的查询执行计划以了解差异。