mysql原理
2023-06-02 15:30:19 0 举报
登录查看完整内容
mysql内部原理&结构
作者其他创作
大纲/内容
线程
数据页
数据行
一行数据
sql解析器
变长字段长度列表
数据页缓存哈希表
缓存页(冷数据区)
5、准备提交事务redo日志刷入磁盘
描述数据
缓存页
4、写入redo日志
结束节点
槽位
脏数据
开始节点
链表指针
解析sql
sql语句
执行器
连接
数据加载到缓存页1s后,访问这个缓存页,冷数据区的数据页移动到热数据区的头部
7、写入binlog文件与位置写入commit标记
flush链表--脏页
sql接口
索引页150
IO线程
6、准备提交事务binlog写入磁盘文件
索引页101
索引页1
null值列表
页目录
缓存页(热数据区)
redo日志文件
主键
B+树
buffer pool缓冲池(128M)
数据库连接池
最优查询路径
索引页3
磁盘
磁盘文件
查询优化器
内存
真实数据
InnoDB存储引擎
加载数据页到buffer pool
LRU链表头指针
8、随机刷磁盘
索引页100
第一次加载的数据页放到冷数据区的头部
执行计划
执行sql
Buffer Pool缓冲池
LRU链表尾指针
索引页2
Tomcat
获取sql
binlog日志文件
访问数据
undo日志文件
free链表--空闲缓存页
mysql数据库
索引页199
2、写入数据的旧值进行回滚
数据头
调用接口,完成sql语句
1、加载缓存数据
3、更新内存数据
lru链表
存储引擎
表空间号 + 数据页号 = 缓存页地址表空间号 + 数据页号 = 缓存页地址表空间号 + 数据页号 = 缓存页地址
基础节点count=n
Redo LogBuffer
磁盘文件(有很多数据页)
根页
其他数据页
0 条评论
回复 删除
下一页