使用以下表达式:FALSE AND (expression)
MySQL是对表达式求值,还是一看到FALSE就继续前进
一些背景上下文--我想通过执行以下操作来加快查询速度:
JOIN... ON (indexed_column1=indexed_column2 AND non_indexed_column_a=non_indexed_column_b)
有关执行此查询的原因的背景信息,请参阅see this answer
如果它总是计算non_indexed_column_a=non_indexed_column_b,那么就不会节省任何时间。
发布于 2012-09-05 15:27:55
MySQL查询优化器尽可能使用索引,并使用限制最严格的索引,以消除尽可能多的行。
因此,在查询时,它将始终根据第一个索引列过滤记录,然后再过滤非索引列中的记录。
此外,在执行查询之前,MySQL会消除总是为假的代码(Dead Code)。
有关详细信息,请参阅:http://www.informit.com/articles/article.aspx?p=377652&seqNum=2
https://stackoverflow.com/questions/10747047
复制相似问题