Mysql InnoDB存储引擎初识

本文深入探讨了InnoDB存储引擎的内部结构,包括其关键组件如后台线程、内存块、RedoLog以及数据流过程。揭示了Master线程、IO线程、Purge线程和PageCleaner线程的工作原理,解释了缓冲池、Redolog缓冲池和额外缓冲池的作用,以及RedoLog如何确保数据安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

InnoDB 存储引擎结构

12062369-330cf4b0a2c1d4e9.png
image.png

InnoDB重要组成

后台线程
  • 负责刷盘的Master线程
  • 负责读出写入磁盘的IO线程
  • 负责回收undo log的Purge线程
  • 为Master打辅助刷脏页的PageCleaner线程
内存块
  • 缓存各种页的缓冲池,如包括插入缓冲缓存各种update insert操作然后合并多次IO
  • Redo log缓冲池
  • 额外缓冲池
Redo Log

固定大小,队列进出,真正刷盘前先写入Redo log,宕机可根据Redo log恢复

磁盘

真正存储数据的

InnoDB数据流

  • 用户增删改(write)-> FREELIST里找空白页写入(若无LRULIST释放队尾空白页)-> 写入RedoLog返回写入成功->落库
  • 用户查询(read)-> B+树搜索后查询LRULIST-> 找不到从磁盘加载->读出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值