likes
comments
collection
share

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

作者站长头像
站长
· 阅读数 9

缘由

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

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

  • 优点

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

  • 缺点

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

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

    LOGINID唯一索引,执行sqlexplain select * from frame_user where LOGINID = 'admin';结果出发了索引,这个很正常;【不懂就问】where 1=1 怎么样?

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

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

结果

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

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