Mysql InnoDB存储引擎初识

InnoDB 存储引擎结构

Mysql InnoDB存储引擎初识_第1张图片
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-> 找不到从磁盘加载->读出

你可能感兴趣的:(Mysql InnoDB存储引擎初识)