MySQL 体系结构

Mysql 体系结构

推荐博客
MySQL 表空间,页,区,段

连接层

1.验证用户身份,判断用户名和密码
2.提供两种连接方式
3.与SQL层建立交互的线程

SQL层

1.接收连接层发过来的sql语句
2.判断sql的语法
3.判断sql的语义
4.解析器:解析sql语句,生成执行计划
5.优化器:选择最优执行计划
6.执行器:执行选择出来的计划,SQL
—— 6.1 与存储引擎层建立交互,将sql语句传给存储引擎层
—— 6.2 将存储引擎层传来的数据以表格的形式展示出来
7.将数据写入缓存,如果前端有redis,将数据缓存至redis
8.记录日志

存储引擎层

1.与 SQL层 建立交互,接收 SQL层 传来的 SQL语句
2.与 磁盘 建立交互,获取数据

mysql 逻辑结构

1.库:库的下面全是表
2.表:元数据 + 真实数据行
3.元数据:列 + 其它属性(行数+占用空间大小+权限)
4.列:列名字 + 数据类型 + 其他约束(非空、唯一、主键、非负数、自增长、默认值)

mysql 物理结构

1.MySQL的最底层的物理结构是数据文件,也就是说,存储引擎层,打交道的文件,是数据文件。
2.存储引擎分为很多种类(Linux中的FS)
3.不同存储引擎的区别:存储方式、安全性、性能
其他:数据库创建时,不论库名还是表名,尽量都用小写字母

Mysql 物理大小单位

1.段:理论上一个表就是一个段,由多个区构成,(分区表是一个分区一个段)
2.区:连续的多个页构成
3.页:最小的数据存储单元,默认是 16k
4.分区表:一个区构成一张段,就是一张表

原文地址:https://www.cnblogs.com/zzzwqh/p/13280806.html