gpt4 book ai didi

sql - 虚拟 where 子句对性能的影响

转载 作者:行者123 更新时间:2023-12-04 18:43:04 27 4
gpt4 key购买 nike

WHERE 1=1有什么作用如果您在脚本(伪代码)中编写此请求:

sql = "SELECT f1,f2,f3 FROM t
WHERE 1=1" ++ restOfTheClause

哪里 restOfTheClause可以是与 AND 连接的字段名称/运算符/值列表:

restOfTheClause = [('f4','>',5), ('f5','IN(1,2,3)'), ('f10','=',1)].map(writeWherePart).join(' AND ')
写作 WHERE 1=1允许编写更简单的代码,因为您不必检查您的 restOfTheClause是否为空等。

该条款对性能有什么影响?
拥有 WHERE 1=1 和有什么区别并且根本没有 where 子句?

我在 Oracle 工作了几个月,我发现我必须把 WHERE 1=1但其他 RDBMS 接受 WHERE true .如 =是操作符,oracle 和其他 RDBMS 在使用虚拟子句时是否有性能差异?

谢谢

最佳答案

SQL Server 和 oracle 足够复杂,可以完全删除此子句。作为简化步骤,它被删除。它没有任何性能影响。我不知道其他 RDBMS 的情况。

关于sql - 虚拟 where 子句对性能的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20539838/

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