2. mysql 体系架构
-
连接方式
TCP/IP
Socket
-
mysqld程序结构
-
mysqld程序结构
mysql程序结构.png -
连接层执行过程
提供连接协议
提供验证
提供专用的连接线程: 接受sql, 返回结果
show processlist; -
SQL层执行过程
接受上层sql语句
-
语法验证模块:
验证语句语法
验证是否满足sql_mode
-
语义检查: 判断语句类型
DML
DDL
DCL
-
权限检查
检查用户是否有权限
-
解析器
在语句执行前, 进行预处理, 生成解析树(执行计划), 生成多种执行方案
-
优化器
根据生成的解析树进行判断, 选择最优的执行计划(代价模型: 根据CPU, IO, MEM的耗损评估性能)
-
查询缓存
使用redis tair替代缓存查询
-
提供日志记录
binlog功能
-
存储引擎层执行过程
根据SQL层的执行结果, 从磁盘读取数据
将16进制的数据叫给SQL层结构化为表
连接层的专用线程返回给用户
-
-
myqsl数据库结构
-
逻辑构成:
逻辑构成 -
物理结构
物理结构 -
表的存储方式
-
段
数据表就是一个段, 一个段包含多个区
-
区
区包含64个连续的页, 共1M
-
页
最小的存储单位, 默认为16k
-
-


