MySQL 的逻辑架构

第一层:服务器层/客户端层

  • 提供连接处理,授权认证,安全等功能

第二层:核心服务层/功能层

  • 实现MySQL的核心服务功能,包括查询解析、分析、优化、缓存以及日期时间等所有内置函数,所有跨存储引擎的功能都在这一层实现。例如存储过程、触发器、视图等

第三层:存储引擎层

  • 存储引擎负责MySQL中数据的存储和提取。
  • 服务器通过api与存储引擎通信,这些接口屏蔽了不同存储引擎的差异,使得差异对上层查询过程透明。
  • 除了会解析外键定义的innoDB外,存储引擎不会解析sql
  • 不同存储引擎之间也不会相互通信,只是简单响应上层服务器请求

查询执行流程

  1. 客户端发送一条查询给服务器
  2. 服务器先检查查询缓存,如果命中了缓存就立即返回存储在缓存中的结果
  3. 服务器进行sql解析、预处理,再由优化器生成相应的执行计划
  4. MySQL根据优化器生成的优化计划,调用存储引擎的api来执行查询
  5. 将结果返回给客户端
posted @ 2022-03-09 10:17  张三丰学Java  阅读(20)  评论(0编辑  收藏  举报