首页 > 解决方案 > where 子句中的重复条件

问题描述

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

Select * 
from sampletable 
where id = 2 
  and name = 'xyz' 
  and id = 2;

您可以看到id = 2在上面的查询中出现了两次。SQL Server 会忽略重复条件,还是会执行两次?

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

标签: sqlsql-server

解决方案


这对 SQL 引擎来说不是问题,因为 SQL 语句解析器将忽略第二次出现。

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


推荐阅读