Mysql SQL Server是否优化常量表达式?

Mysql SQL Server是否优化常量表达式?,mysql,sql,sql-server,query-optimization,Mysql,Sql,Sql Server,Query Optimization,如果我在SQL Server中执行类似操作 select * from mytable where 1=1 …是对1=1条件进行了优化,还是对每一行进行了实际评估 我还想知道其他DBMS在这方面的表现,特别是MySQL。使用MySQL的解释计划和SQL Server的设置SHOWPLAN\u ALL ONSQL Server: 第一个示例: SQL Server查询优化器会自动删除1=1谓词,因为它总是true: 第二个示例: 因为1=2谓词总是false,所以执行计划不包括数据访问操作符(

如果我在SQL Server中执行类似操作

select *
from mytable
where 1=1
…是对
1=1
条件进行了优化,还是对每一行进行了实际评估


我还想知道其他DBMS在这方面的表现,特别是MySQL。

使用MySQL的
解释计划
和SQL Server的
设置SHOWPLAN\u ALL ON

SQL Server:

第一个示例:

SQL Server查询优化器会自动删除
1=1
谓词,因为它总是
true

第二个示例:

因为
1=2
谓词总是
false
,所以执行计划不包括数据访问操作符(
/
索引
扫描
/
搜索
)来从
dbo.Customer
表读取数据。相反,执行计划包含一个
常量扫描
操作符,该操作符将从
dbo.Customer
表返回列列表,而不返回任何行。这是在行动:-)

注意:我使用的是SQL Server 2012开发人员版。

可能与