mysql整体架构

简单来说mysql可以分为两层
一层是 Service层 这一层包含了 连接器 , 检查缓存,分析器,优化器,执行器
第二层是 mysql的存储引擎 比如 Mysam 或者 innodb

连接器

这一个组件作用是判断当前连接的用户名密码以及对应的权限

检查缓存

在mysql8.0 之后就删除了这一个组件,因为能耗比较高而且使用起来鸡肋

原因

因为使用缓存的条件很不方便 必须要全值等的sql语句 大小写不一样都不会走缓存
另一个原因就是持久化的策略比较困难 而且研究表明缓存越接近用户端就性能的提升就越高

分析器

这一个组件主要是分析该sql语句是做什么的

  1. 检查

  2. 优化器

    如果是查询语句那么mysql会通过这一个组件给出mysql认为最优的执行方案
    是否走索引还是全表扫描就是这一个组件来判断的

    执行器

    这一个组件就是执行sql 然后从存储引擎返回数据