mysql数据库设计结构:
1、连接层
a.提供连接协议(socket,tcp/ip)
b.验证
c.提供专用户连接线程;show PROCESSLIST;
2、sql层
a.语法检查
b.语义(DDL,DCL,DML,DTL)
c.权限
d.解析器:预处理 比如:A(全表扫描)B(使用索引)
e.优化器:帮我们选择最优的方案(基于代价cost)
f.按照器:按照优化器的选择,执行sql,得出执行结果:所需要的数据在磁盘什么位置
g.查询缓存(query cache 默认不开启),可以使用redis替代
h.日志记录(binlog二进制日志,glog全部日志 默认不开启)
3、存储引擎层
a.相当于linux中的文件系统,和磁盘交互的模块
mysql数据库的程序结构:
WX20200724-212518.png
mysql逻辑结构
Linux :
目录: 名称 + 属性
文件: 文件 + 文件属性 + 文件内容
MySQL:
库:库名 + 库属性
表:表名 + 表属性 + 表内容 + 列
MySQL物理存储结构
mysql 组织架构.pnga.段,一个表就是一个段,可以由一个或者多个区组成,可以是不连续的区
b.区,一个区(簇),默认1M,连续的64page
c.页,一个页,默认16KB,连续的4个OS block,最小的IO单元
网友评论