赞
踩
目录
下图是 MySQL 5.7 及其之前版本的逻辑架构示意图
MySQL 架构大致可分为以下三层:
MySQL 连接层是 MySQL 数据库架构中的一个重要组成部分,它主要负责处理客户端与数据库服务器之间的连接和通信。
主要作用为:
查看连接状态
通过 show processlist 或 show full processlist 命令可以查看连接状态
- Id:线程 id
- User:启动这个线程的用户
- Host:发送请求的客户端的 IP 和端口号
- db:当前命令在哪个库执行
- Command:该线程正在执行的操作命令
- Create DB:正在创建库操作
- Drop DB:正在删除库操作
- Execute:正在执行一个 Prepared Statement
- Close Stmt:正在关闭一个 Prepared Statement
- Query:正在执行一个语句
- Sleep:正在等待客户端发送语句
- Quit:正在退出
- Shutdown:正在关闭服务器
- Time:表示该线程处于当前状态的时间,单位是秒
- State:线程状态
- Updating:正在搜索匹配记录,进行修改
- Sleeping:正在等待客户端发送新请求
- Starting:正在执行请求处理
- Checking table:正在检查数据表
- Closing table : 正在将表中数据刷新到磁盘中
- Locked:被其他查询锁住了记录
- Sending Data:正在处理 Select 查询,同时将结果发送给客户端
- Info:一般记录线程执行的语句,默认显示前100个字符。想查看完整的使用 show full processlist;
- # 查看连接状态
- show processlist;
当 MySQL 接收到一个查询请求时,它首先会检查查询缓存中是否已经存在与该查询请求相同的查询结果。之前执行过的语句及其结果可能会以 key-value 对的形式,被直接缓存在内存中。其中 key 是查询的语句,value 是查询的结果。如果存在,MySQL 会直接返回缓存中的结果,而不需要再执行查询语句。如果查询缓存中没有该查询结果,MySQL 会执行查询语句并将结果存储在查询缓存中,以便下次相同的查询可以直接从缓存中获取结果。我们一般不使用查询缓存,因为一旦查询涉及的表发生改变,该缓存会失效,会被查询缓存清除。从 MySQL 8.0 版本开始,MySQL 不再支持查询缓存。
MySQL 首先会进行词法分析 (Lexical scanner),将 SQL 语句分成一个个的词法单元 (Token) 。其中 Token 中包含 Keyword(也称 symbol)和非 Keyword。之后根据语法分析 (Grammar rule module) 生成一棵对应的“解析树”。最后进行语义分析,检查“解析树”中的元素是否在数据库中有对应的实体,并验证操作的合法性。例如会检查数据表和数据列是否存在,还会解析名字和别名,看看它们是否有歧义,最后生成新的“解析树”。
优化器会根据“解析树”生成最优的执行计划。这些执行计划可以分为两类:静态优化(编译时优化)、动态优化(运行时优化)。
MySQL 能够处理的优化类型:
- select g1.id,g1.name
- from goods g1
- inner join goods g2 using(id)
- where g1.id > 5;
-
- # where g1.id > 5 等价于 where g1.id > 5 and g2.id > 5
- select g1.id,g1.name
- from goods g1
- inner join goods g2 using(id)
- where g1.id > 5 and g2.id > 5;
MySQL 执行器是 MySQL 服务器中的一个组件,它负责执行优化器生成的执行计划,并返回查询结果。
MySQL 执行器的主要职责包括:
执行一条 SQL 语句的过程
MySQL 存储引擎是 MySQL 数据库的核心组件之一,它负责管理数据的存储和访问。MySQL 支持多种存储引擎,每个存储引擎都有自己的特点和适用场景。
常见的存储引擎包括:
存储引擎层的主要职责包括:
《高性能MySQL》
深入浅出MySQL - 架构与执行 (https://www.cnblogs.com/novwind/p/17489997.html)
MySQL架构原理(详解) (https://cloud.tencent.com/developer/article/1981543)
MySQL架构详解 (https://mdnice.com/writing/43f52aeaee9644b1bc1373ff85f89972)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。