欢迎光临
我们一直在努力

MySQL的逻辑架构

自动草稿

MySQL的架构可以分为四层:

  1. 客户端。

    提供了各种语言连接客户端的方法。

  2. 服务层。

    也就是上图所画的服务层,它包括了连接器、查询缓存、分析器、优化器、执行器等等。
    MySQL中所有跟存储引擎打交道的都在服务层实现,比如:存储过程、触发器、视图等等。

    • 连接器:负责客户端的连接、获取用户权限、维持和管理连接。
    • 查询缓存:MySQL执行一个查询请求之前,会先查询缓存查看之前是否执行过这条语句,如果当前SQL能够在缓存中查询到结果,就会直接返回。

      更新操作比较多的表中,查询缓存的命中率十分低,因为,只要表一更新,缓存就失效了。

      在MySQL8.0之后直接移除了查询缓存。

    • 分析器:词法分析(识别关键字等等)、语法分析(判断SQL是否符合语法)
    • 优化器:若有多个索引,决定使用哪个索引;多表join,决定表的连接顺序等等。
    • 执行器:执行之前,判断用户对此表是否有权限,如果没有权限,则会返回没有权限的错误,反之,则调用存储引擎的接口,然后返回存储引擎执行的结果。
  3. 存储引擎层。

    负责数据的存储和提取(从物理文件层中)。

    常见的MySQL存储引擎如:InnoDB(MySQL5.5.5之后默认)、MyISAM、Memory等。

    注意:事务是在存储引擎层实现的,而不是在服务层。这个很好理解,存储引擎有支持事务的也有不支持事务的,那事务肯定就是在存储引擎层实现了。

  4. 物理文件层。

    存储真正的表数据、日志(binlog、redo log、undo log…)等。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《MySQL的逻辑架构》
文章链接:https://www.xpn.cc/886/fy.html
分享到: 更多 (0)

热门推荐

评论 抢沙发

登录

忘记密码 ?