Mysql的InnoDB逻辑存储结构

发布于 2023-05-14  112 次阅读


目标:InnoDB逻辑存储结构是怎么样的

逻辑存储结构


表空间(tablespace)

  • 表空间指的是数据表在硬盘上的存储空间
  • mysql5.6默认,所有数据表都在一个共享表空间,可设置为单独表空间。
  • mysql8.0默认,每个数据表都有单独表空间空间(ibd文件)

段(segment)

  • 段默认是128MB
  • 数据段:B+树的叶子节点
  • 索引段:B+树的非叶子节点
  • INNODB中,段由存储引擎自动管理

区(extent)

  • 区是由连续页组成的空间,每个区大小为1MB
  • 一次从磁盘申请4~5个区
  • 一般来讲含有64个页(page)

页(page)

  • 页是INNODB中磁盘读写的最小逻辑单位,页默认是16KB
  • 一个数据页就是一个B+树的节点(B+ Tree Node)
  • 为了硬盘的读写效率和便利,页的大小是充分考虑了机械硬盘盒SSD的最小单元(512B和4KB)

总结

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


间歇性凌云壮志,持续性混吃等死