”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 条件在子句中影响查询性能的情况下的条件顺序吗?

条件在子句中影响查询性能的情况下的条件顺序吗?

发布于2025-03-23
浏览:149

Does the Order of Conditions in a MySQL WHERE Clause Impact Query Performance?
在mySQL中的条件顺序,其中条款和性能

答案并不总是很简单。在某些情况下,该顺序会因短路行为而影响性能。考虑以下查询:

从客户端选择 * (例如:foo或lastname,喜欢:foo或电话,例如:foo)和 (firstName喜欢:bar或lastname,喜欢:bar或phone,喜欢:bar)和 company =:ugh select *从客户端的选择 * 公司=:UGH和 (例如:foo或lastname,喜欢:foo或电话,例如:foo)和 (firstName喜欢:bar或lastname,喜欢:bar或phone,喜欢:bar)在第一个查询中,最后一次检查了公司条件,可能导致MySQL在缩小结果之前搜索大量行。在第二个查询中,首先评估公司条件,这可以大大减少需要处理的行数。

但是,重要的是要注意,请注意,限制性条件可能并不总是很重要,尤其是如果限制性不高度选择性(即,在何处都不会效果,那么我会在何处效果,因此,我的命令是我的[pers pression]。在所有情况下都不是可以应用的一般规则。最好对特定查询进行性能测试,以确定是否重新排序条件是否提供明显的改进。
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3