gpt4 book ai didi

mysql - JOIN 子句中的 MySQL 逻辑评估是否惰性/短路?

转载 作者:可可西里 更新时间:2023-11-01 06:33:58 31 4
gpt4 key购买 nike

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

最佳答案

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

因此对于您的查询,它将始终根据第一个索引列过滤记录,然后从非索引列过滤记录。

同样在查询执行之前,MySQL 消除了始终为假的代码 (Dead Code)。

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

关于mysql - JOIN 子句中的 MySQL 逻辑评估是否惰性/短路?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10747047/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com