mysql where 执行顺序

 2024-03-06 02:02:49  阅读 0

where的执行顺序是从左到右执行的。 当数据量较小时,无需考虑。 但当数据量较大时,必须考虑条件的顺序。 这时要遵循一个原则:排除的条件越多,则将条件越多的放在第一位。 。

使用MySQL查询数据库时,连接了很多过滤条件,发现速度很慢。 例如: ... WHERE p.=1 AND t.type=1 AND p. IN(472,474),尽管每个字段都建立了索引,但这个查询花费了20多秒。 用分析SQL分析后发现,第一次分析过程:WHERE p.=1,返回了几万条数据,然后根据条件缩小了范围。

where条件执行顺序_mysql两个where条件_mysql where 条件顺序

那么稍微改变一下WHERE字段的位置后,速度就明显提升了:WHERE p.1。 IN (472,474) AND p.=1 AND t.type=1,因此第一个过滤条件为p。 IN(472,474),返回的结果不到10条,然后还得根据其他条件进行过滤,自然就大大提高了速度。 通过实践我们发现,不要以为WHERE中字段的顺序没有关系,可以放在任何地方。 你应该在第一时间就尽可能过滤掉大部分无用的数据,只返回最小范围的数据。

标签: 过滤 条件 顺序

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码