首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JOIN子句中的MySQL逻辑计算是惰性的/短路的吗?

问JOIN子句中的MySQL逻辑计算是惰性的/短路的吗?
EN

Stack Overflow用户
提问于 2012-05-25 08:29:58
回答 1查看 1.8K关注 0票数 10

使用以下表达式: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,那么就不会节省任何时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-05 15:27:55

MySQL查询优化器尽可能使用索引,并使用限制最严格的索引,以消除尽可能多的行。

因此,在查询时,它将始终根据第一个索引列过滤记录,然后再过滤非索引列中的记录。

此外,在执行查询之前,MySQL会消除总是为假的代码(Dead Code)。

有关详细信息,请参阅:http://www.informit.com/articles/article.aspx?p=377652&seqNum=2

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10747047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档