mysql 中 where 1=1真的影响效率吗

不影响,当多条件连接时估计的数据量等于每个筛选条件的选择性相乘。而1等于1这个条件选择性永远为1,所以相乘后不改变原值。另外,1等于1这种常量等式在查询分析器代数优化阶段已经自动过滤了
■网友

■网友
你…太…小看…数据库的optimizer 了…用计划查询器看看不就知道…
■网友
不会!可以查看优化器最终生成的SQL :查看最终SQL :EXPLAIN EXTENDEDSELECT ptypeid FROM inoutstocktable WHERE 1=1 AND billdate \u0026gt;\u0026#39;2014-01-01\u0026#39; AND billdate \u0026lt; \u0026#39;2014-01-03\u0026#39; ;SHOW WARNINGS ;最终生成的SQL : /* select#1 */ SELECT `anuocat`.`inoutstocktable`.`PtypeId` AS `ptypeid` FROM `anuocat`.`inoutstocktable` WHERE ((`anuocat`.`inoutstocktable`.`BillDate` \u0026gt; \u0026#39;2014-01-01\u0026#39;) AND (`anuocat`.`inoutstocktable`.`BillDate` \u0026lt; \u0026#39;2014-01-03\u0026#39;))你会发现 1=1 被优化器移除了.
■网友
如果“1”=“1”说不定有可能~_~
■网友
要看表是怎样的吧,你搞两张字段较多表join,然后再来个on 1=1,不影响才怪


    推荐阅读