gpt4 book ai didi

mysql - 如果不满足查询中的条件,mysql 是否会移动到下一行?

转载 作者:行者123 更新时间:2023-11-29 11:04:58 25 4
gpt4 key购买 nike

我想知道执行查询时Mysql操作的顺序。例如,如果我有这样的查询:

select * from Posts where year>2016 and name like '%A%' and veryExpensiveFunction(this,that) and age>12;

如果不满足第一个条件(年份>2016),mysql 是否会移动到下一行,或者它是否确定所有条件的结果,然后说“哎呀...条件 #1 甚至没有满足”。 ..所以继续到下一行'。看起来如果我在我的条件下有一个非常昂贵的功能,我想把它放在最后。

你的看法是什么。我想它只是一一评估大“与”链中的每个条件......如果不满足......它会继续

最佳答案

一般来说,您要寻找的是查询计划。 MySQL 有一个Explain 语句,它会告诉您它如何评估特定语句。对于 RDBMS 如何评估一个简单的查询,没有简单的答案,因为很大程度上取决于条件中的列是否有索引,以及其他因素(例如最终排序顺序)。我没有方便的 MySQL 服务器,所以我无法提供示例,但是“Explain”的输出会告诉您是否(例如)年份列上有一个索引,该索引用于过滤“年份” > 2016 年”,然后再应用其他标准。

关于mysql - 如果不满足查询中的条件,mysql 是否会移动到下一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41558793/

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