gpt4 book ai didi

SQL Server 性能提示

转载 作者:行者123 更新时间:2023-12-04 20:33:13 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




10 年前关闭。




Possible Duplicate:
Is the SQL WHERE clause short-circuit evaluated?



我对此查询有以下疑问:
select * from sometable 
where 1=1 or (select count(*) from table2 > 0)

如果第一个条件为真( 1=1 ),SQL Server 是否仍然执行内部选择?
还是在第一个条件为真时停止(如 C)

最佳答案

当 (1=1) 为真时停止。您可以使用 Ctrl-M 然后 Ctrl-E 轻松检查

考虑这个查询

select * from master..spt_values
where 1=1 or (select count(*) from master..sysobjects) > 0

执行计划仅显示 master..spt_values 中的扫描并且在 sysobjects 中没有事件.

与C相反,当 时它不会停止最左边 条件为真,相反查询优化器计算出 独立于所呈现的顺序 这是评估的最低成本。对于常量 1 vs 1赢家很明显。

关于SQL Server 性能提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032882/

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