InnDB
2021-07-26 23:33:27 1 举报
InnDB流程
作者其他创作
大纲/内容
young list(热数据区)5/8
1、先写入双写缓冲区
脏页数据持久化到磁盘
磁盘
控制块
全表扫描时,从磁盘读取的数据插入到冷数据区的头部,在冷数据区循环冲刷
页
脏页
mvcc
change buffer
基结点1、头节点2、尾节点3、节点总数
Redo Log
Buffer Pool 默认128M 每页大小默认16k
空闲页
InnoDB Page16kb
2、写入表空间
double write buffer
mysql读取数据,先去buffer pool读取,buffer pool没有的话再去磁盘读取
存放更新索引的update语句,等到下次查询使用该索引时进行更新;为了提升效率,InnoDB在更新数据的时候,不会同时更新,会把更新索引的update语句存放在change buffer中
没有去磁盘加载到buffer pool
t1表空间
加载到buffer pool
页/4k
old list(冷数据区)3/8
冷数据移动到热数据的策略:当冷数据区的数据被第二次访问,且与第一次访问相差时间大于1s时,移动到热数据区,插入到热数据区的基结点以外第一位。
free链表
lru链表
flush链表
0 条评论
下一页