gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 08:07:22 25 4
gpt4 key购买 nike

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

select *
from mytable
where 1=1

...1=1 条件是否得到优化,或者是否实际针对每一行进行评估?

我也有兴趣了解其他 DBMS 在这方面的表现,尤其是 MySQL。

最佳答案

SQL Server:

第一个示例:

1=1 谓词会被 SQL Server 查询优化器自动删除,因为它始终为 true: enter image description here

第二个示例:

由于 1=2 谓词始终为 false,因此执行计划不包含数据访问运算符 (Table/ Index Scan/Seek)从dbo.Customer表中读取数据。相反,执行计划包含一个Constant Scan 运算符,它将返回dbo.Customer 表中的列列表,不包含任何行。这是contradiction detection行动中:-)

enter image description here

注意:我使用的是 SQL Server 2012 Developer Edition。

关于mysql - SQL Server 是否优化常量表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22435420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com