MySQL数据库服务本身的逻辑架构
2024-02-26 本文已影响0人
小动乾坤
MySQL数据库服务本身的逻辑架构相关内容思维导图
5.7版本标准逻辑架构和请求处理过程(8.0版本去掉了步骤4和9以及其对应的模块,其余请求处理流程不变)
连接层
接收处理连接,密码验证,权限验证等逻辑处理
服务层
SQL interface :SQL接口
接收SQL命令,返回处理结果,相当于服务器内部的Controller角色
MySQL支持DML,DDL,存储过程,触发器,视图,自定义函数等多种SQL语言接口
Parser:解析器
在解析器中对SQL语言进行语法,语义解析,解析过程出错,就代表SQL命令本身语法错误,否则产生语法树,这个环节还会验证用户是不是有操作执行权限
语法树逻辑结构案列
Optimizer:查询优化器
基于语法树优化并生成查询计划
Caches/Buffers:查询缓存组件
8.0版本去掉了对应模块,原本是以完整的SQL为key,执行结果为value缓存操作结果,为后续操作加速的功能
存储引擎层/表处理器
表的类型,物理存储结构和策略的总称,直接通过系统调用与文件系统交互
存储引擎对比(外键,事物,行级锁,聚簇索引和非聚簇索引,内存消耗这些区别点需要重点关注)
基于逻辑架构的SQL执行流程介绍
MySQL服务器端SQL语句的执行流程示意图