MySql逻辑语句的执行顺序

执行顺序

  • (7) SELECT
  • (8) DISTINCT <select_list>
  • (1) FROM <left_table> // 这里FROM不止处理后面这一张,包括JOIN 中的,一起处理,笛卡尔积。
  • (3) <join_type> JOIN <right_table> // 这里指的是根据JOIN的方式,确定保留的内容。
  • (2) ON <join_condition> // 先ON 再 JOIN逻辑。
  • (4) WHERE <where_condition> // 先WHERE条件过滤、再GROUP BY分组、再HAVING过滤、再DISTINCT排重、再ORDER BY排序、最后LIMIT。
  • (5) GROUP BY <group_by_list>
  • (6) HAVING <having_condition>
  • (9) ORDER BY <order_by_condition>
  • (10) LIMIT <limit_number>

  • 连接器:认证、授权
  • 查询缓存(8.0移除)
  • 分析器:词法分析、语法分析
  • 优化器:连接优化、索引选取
  • 执行器:访问权限、引擎API调用

Leave a Reply

Your email address will not be published. Required fields are marked *

lWoHvYe 无悔,专一