MySQL 查询执行顺序不是你写出来的顺序

109次阅读
没有评论

写 SQL 时我们常从 select 开始写,但 MySQL 的逻辑执行顺序并不是从 select 开始。

常见逻辑顺序

通常可以理解为:from -> where -> group by -> having -> select -> order by -> limit

为什么这个顺序重要

很多 SQL 疑惑都和它有关。比如 where 阶段还看不到 select 里定义的别名,所以别名不能直接在 where 中使用。

逻辑顺序不等于物理执行计划

优化器会根据索引、统计信息和成本估算调整真正的执行路径,但理解逻辑顺序依然是排查 SQL 写法问题的基础。

一句话记忆

SQL 是按人类更容易写的顺序表达,数据库再按更适合处理数据的顺序执行。

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-03-25发表,共计282字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)