虚拟where子句会影响性能

 失望与痛心 发布于 2023-02-11 12:30

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之间是否存在性能差异?

谢谢

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有