InnoDB逻辑存储结构

image.png

表空间(tablespace)

  • 表空间指的是数据表在硬盘上的存储空间(ibd文件)
  • 默认,所有表的数据都存在共享表空间
  • 每个表的数据也可以放在独占表空间(ibd文件)

    段(segment)

  • 数据段:B+树的叶子节点

  • 索引段:B+树的非叶子节点
  • InnoDB中,段由存储引擎自动管理

    区(Extent)

  • 区是由连续的页组成的空间,大小为1MB(一个page是16KB,一个区有64个Page)

  • 一次从磁盘申请4~5个区
  • 一般来讲含有64个页(Page)

    页(Page)

  • 页是InnoDB中磁盘读写的最小逻辑单位,默认16KB

  • 一个数据页就是一个B+树的节点(B+ Tree Node)
  • 页的大小充分考虑了机械硬盘和SSD的最小单元(512B和4KB)

总结

  • InnoDB的逻辑存储结构为表空间、段、区、页、行
  • InnoDB的逻辑存储结构充分考虑了以基于B+树的表结构
  • InnoDB中的页是InnoDB自身的逻辑概念,与硬件的页无关