加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

步步深入MySQL:架构-查询执行流程-SQL解析顺序

发布时间:2018-09-23 14:25:21 所属栏目:编程 来源:AnnsShadoW
导读:【新品产上线啦】51CTO播客,随时随地,碎片化学习 一、前言 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了。 本文将从MySQL总体架构---查询执行流程---语句执行顺序来探讨一下其中的知识。

采用INNER JOIN优化,JOIN子句里也优先从索引获取ID列表,然后直接关联查询获得最终结果

  1. mysql> SELECT 
  2.     -> a.uid, 
  3.     -> count(b.oid) AS total 
  4.     -> FROM 
  5.     -> table1 AS a 
  6.     -> LEFT JOIN table2 AS b ON a.uid = b.uid 
  7.     -> WHERE 
  8.     -> a. NAME = 'mike' 
  9.     -> GROUP BY 
  10.     -> a.uid 
  11.     -> HAVING 
  12.     -> count(b.oid) < 2 
  13.     -> ORDER BY 
  14.     -> total DESC 
  15.     -> LIMIT 1; 
  16. +-----+-------+ 
  17. | uid | total | 
  18. +-----+-------+ 
  19. | ccc |     1 | 
  20. +-----+-------+ 
  21. 1 row in set (0.00 sec)  

至此SQL的解析之旅就结束了,上图总结一下:

步步深入MySQL:架构-查询执行流程-SQL解析顺序

【编辑推荐】

  1. 数据库为什么会分为“行式存储”和“列式存储”呢?
  2. MySQL 8.0新特性之统计直方图
  3. 顺丰高级工程师误删数据库,被开除!
  4. 教你如何定位及优化SQL语句的性能问题
  5. MySQL分库分表,写得太好了!
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读