MySQL

洞悉MySQL底层架构与SQL调优本质
帅旋
关注
充电
IT宅站长,技术博主,共享单车手,全网id:arthinking。

MySQL整体架构

发布于 2020-05-30 | 更新于 2024-03-19

如下图为MySQL架构涉及到的常用组件:

image-20200702211836280

MySQL服务器中基本点组件包括:

  • 连接器: 主要用于管理客户端连接/会话,权限验证。当客户端请求 MySQL 时,连接器用于接收连接,对传过来的用户密码进行身份验证,验证通过后,获取用户权限信息缓存起来,该连接后面都是基于该缓存中的权限执行SQL;
  • 查询缓存: 执行查询语句的时候,先尝试从查询缓存中查询该sql是否已经有缓存的结果了,如果有则直接返回结果,如果没有则执行下一步;
  • 分析器: 分析器拿到sql之后会尝试对sql语句进行词法分析看SQL要干什么,然后进行语法分析校验语法的正确性,通过之后继续往下执行;
  • 优化器: 优化器拿到分析器的sql之后,对查询进行优化:继续解析sql,判断到需要走什么索引,决定表的读写顺序,根据实际情况重写sql,最终生成执行计划
  • 执行器: 会先进行操作权限校验;然后根据执行计划执行sql,根据表存储引擎调用对应接口返回结果,这里的扫描行数就是指的接口返回的记录数,执行器拿到返回记录之后进一步加工;
  • 存储引擎: 主要负责数据的存储和读取,server 层通过api与存储引擎进行通信。

本文作者: 帅旋

本文链接: https://www.itzhai.com/columns/mysql/mysql-overall-architecture.html

版权声明: 版权归作者所有,未经许可不得转载,侵权必究!联系作者请加公众号。

×
IT宅

关注公众号及时获取网站内容更新。