【不懂就问】where 1=1 怎么样?

愿天堂没有BUG

共 618字,需浏览 2分钟

 ·

2021-12-23 14:08

缘由

新进公司,看到项目中基本每个sql都有写where 1 = 1这个sql拼接,仔细想想这样好不好?然后找谷歌问了问,有些人说没啥不好,有些人说有缺点,那就自己试一试。

实践是检验真理的唯一标准

  • 优点

    sql拼接的时候不用管后面跟了and xxx的时候,就不用处理这个and了,方便!

  • 缺点

    真的有缺点吗?网上有些人说加了1=1就不会索引了,那就explain一下

    LOGINID唯一索引,执行sqlexplain select * from frame_user where LOGINID = 'admin';结果出发了索引,这个很正常;

    然后加上1=1试试,执行sqlexplain select * from frame_user where 1=1 and LOGINID = 'admin';,结果一毛一样,同样走了索引

结果

where 1=1没啥坏处,随便用吧

如果以上有哪里说的不对,欢迎指出,反正不懂就问!


作者:唔贝
链接:https://juejin.cn/post/6992475121608818702
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报