文章内容源自: 极客时间 - 林晓彬老师 - MySQL 实战 45 讲 学习整理
在了解一条查询语句如何执行之前, 需要了解下 MySQL 的基本架构是怎样的, 如下图所示:
可以看出, MySQL 主要分成 Server 层和存储引擎两部分
那么该条 sql 语句的执行过程大概是:
(1) 先通过连接器建立连接, 这个时候需要用户名和密码进行认证
(2) 连接成功后, 就去查询缓存, 如果缓存命中就直接返回, 否则需要继续去分析器
(3) 分析器需要做词法解析, 识别里面的关键字例如 SELECT 等, 并且判断你 SQL 语法是否正确
(4) 经过了分析器后, 优化器会对查询进行优化, 例如使用那个索引等
(5) 优化器执行完毕后, 就需要执行器去执行啦, 执行过程中还需要判断当前用户是否有查询的权限, 如果有权限就调用存储引擎的接口查询数据返回即可
来源: http://www.bubuko.com/infodetail-3683709.html