博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL中到底要不要用WHERE 1=1
阅读量:5889 次
发布时间:2019-06-19

本文共 1003 字,大约阅读时间需要 3 分钟。

hot3.png

                        SQL中到底要不要用WHERE 1=1

    当遇到多个查询条件且这些查询条件都有可能为空时,常用的方法是用<isNotEmpty >标签,例如:

   这时候如果所有的条件都没有,那么where 1=1就没有任何意义。那么,这样写到底合不合适呢?

    答案是正确编码习惯下是合适的,主要包括以下几个方面:

    A:先看看不合适到底是什么原因?如下是一段截图:

              225635_fHEL_3658633.png

    B: 对A观点的对立:

        无论是否有 1=1 and ,查询分析器都会估计相同的行数,从而拥有同样的执行计划,因此不影响性能;另外,现在使用的大多数数据库如mySlq、SQLserver等 在查询分析器在代数树优化阶段就把1=1 直接给过滤掉了。这个功能就是查询优化器中所谓的“Constant Folding” 。

    C: 但是如果这样用不好,有可能会出现Sql注入。

    D:呀不想写了

 

 

 

 

 

 

 

转载于:https://my.oschina.net/FourierSeriesNzh/blog/1816353

你可能感兴趣的文章
WEB版一次选择多个文件进行批量上传(WebUploader)的解决方案
查看>>
Redis之 命令行 操作
查看>>
Jvm(46),指令集----对象创建与访问指令
查看>>
EL 表达式小结
查看>>
内部排序
查看>>
OEM java.lang.Exception null
查看>>
jQuery EasyUI API 中文文档 - 组合(Combo)
查看>>
10个关于 Dropbox 的另类功用(知乎问答精编)[还是转来了]
查看>>
Oracle体系结构
查看>>
用Modelsim仿真QII FFT IP核的时候出现的Error: Illegal target for defparam
查看>>
javascript Error对象详解
查看>>
nc 局域网聊天+文件传输(netcat)
查看>>
C++它 typedef void *HANDLE
查看>>
Git常用命令
查看>>
Linux下查看MySQL的安装路径
查看>>
C#获取磁盘列表与信息
查看>>
mysql学习笔记4---mysql 复制---源代码
查看>>
Linux设备驱动之semaphore机制【转】
查看>>
每天一个linux命令(25):linux文件属性详解
查看>>
【android】getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
查看>>