目标: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自身的逻辑概念,与硬件的页无关
Comments NOTHING