基于:Mysql 5.7

一、InnoDB 介绍

InnoDB 是事务安全的 MySQL 存储引擎。同时 InnoDB 是一个提供了数据持久化的存储引擎。

1.1、InnoDB 体系结构

image.png
整个 InnoDB 由三部分组成

  • 后台线程
    默认情况下,InnoDB存储引擎后台线程有7个:
    4个IO线程(insert buffer thread、log thread、read thread、write thread)
    1个master 线程
    1个 lock监控线程
    1个错误监控线程
  • 内存池
    image.png
    内存池由几个部分组成:
    缓冲池(buffer pool)、【对应系统变量:innodb_buffer_pool_size】
    InnoDB按照页(每页16K)的方式读取数据到缓冲池中,使用 LRU 的算法进行页的保存。
    重做日志缓冲池(redo log buffer)、 【对应系统变量:innodb_log_buffer_size】
    额外的内存池(additional memory pool)【对应系统变量:innodb_additional_mem_pool_size】
  • 持久化文件

    二、InnoDB 逻辑存储结构

    image.png
    InnoDB 存储引擎逻辑存储结构分为几部分,由大到小结构如下:

  • 表空间(tablespace)

  • 段(segment)
  • 区(extent)
  • 页(page)
  • 行(row)