gpt4 book ai didi

sql - "Where 0=1"会解析整个表还是只返回列名

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

我遇到了这个问题:

SQL Server: Select Top 0?

我想询问是否使用查询

SELECT * FROM table WHERE 0=1

SELECT TOP 0 * FROM table

它会立即返回列名,还是会继续解析整个表并最终返回零结果?

我有一个包含 10,000 行的生产表 - 它会检查每行的 WHERE 条件吗?

最佳答案

SQL Server 查询优化器足够聪明,可以发现此 WHERE 条件永远不会产生true 结果出现在任何行上,因此实际上不需要扫描表。

如果您查看此类查询的实际执行计划,很容易发现什么都没有执行,并且查询立即返回:

enter image description here

关于sql - "Where 0=1"会解析整个表还是只返回列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37405527/

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