Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql where子句中的重复条件_Sql_Sql Server - Fatal编程技术网

Sql where子句中的重复条件

Sql where子句中的重复条件,sql,sql-server,Sql,Sql Server,我只想知道SQL Server是如何执行此查询的: Select * from sampletable where id = 2 and name = 'xyz' and id = 2; 您可以看到,id=2在上述查询中出现两次。SQL Server会忽略重复的条件,还是会执行两次 重复条件检查是否会以任何方式影响性能 就我所见,如果id等于2,查询将忽略名称,因为列id放在两种不同的情况下这对于SQL引擎来说不是问题,因为SQL语句解析器只会忽略第二种情况 关于性能,也不会有

我只想知道SQL Server是如何执行此查询的:

Select * 
from sampletable 
where id = 2 
  and name = 'xyz' 
  and id = 2;
您可以看到,
id=2
在上述查询中出现两次。SQL Server会忽略重复的条件,还是会执行两次


重复条件检查是否会以任何方式影响性能

就我所见,如果id等于2,查询将忽略名称,因为列id放在两种不同的情况下

这对于SQL引擎来说不是问题,因为SQL语句解析器只会忽略第二种情况


关于性能,也不会有任何重大影响,因为SQL语句解析阶段与实际的数据检索相比只是时间的一小部分。

查询时应非常小心。而且不会自动组合在一起。因此,如果您的查询中存在重复项,那么您是在做一些非常错误的事情。答案是这可能取决于……但是如果您可以看到您的
WHERE
子句具有冗余,那么为什么不修复它们呢?这只是一个示例查询,在我的项目中,我们动态生成过滤器(基于不同的组件),在那里我可以看到重复的情况。我只是想知道它会影响性能还是会引起任何形式的问题。请参阅执行计划。