mysql 基础架构

可以看到mysql也是分层架构的, server层是mysql 提供的统一业务处理,存储引擎则以插件形式插入使用。
- 连接器:管理连接,身份认证。客户端需要和mysql的服务端建立连接,就是我们平常使用的mysql -h -P -u -p来连接服务端。用户名密码认证通过,连接器会到权限表里面查出拥有的权限。
- 查询缓存:查询缓存模块会对整个sql语句的结果做一个缓存。可以看到我图中是用灰色部分标识的主要原因就是性价比不高,不建议设置。(只要表中有一行记录被更新,mysql会清空整个查询缓存,8.0版本以后,mysql已经取消来查询缓存模块)
- 分析器:词法解析,语法解析。生成解析树和校验语法是否正确,表、列是否存在等。
- 优化器:选取执行的索引,生成执行计划。说明explain语句的结果就是这里生成的。
- 执行器:使用引擎提供的接口,获取满足条件的记录,将结果集返回给客户端。
- 存储引擎:存储数据,提供读写接口。
参考资料\
- 高性能Mysql
- MySQL实战45讲