MySQL数据存储
MySQL数据存储
这篇文章主要记录一下MySQL的数据存储和文件结构情况。
文件结构
表空间由段(segment)、区(extent)、页(page)、行(row)组成,InnoDB存储引擎的逻辑存储结构大致如下:
- 行:记录都是按行存放的,每行记录根据不同的行格式,有不同的存储结构
- 页:InnoDB的数据是按照页为单位进行读写的,默认每个页的大小为16KB
- 区:一个区的大小为1MB,可容纳64个16KB的页,这样的话这些页在内存中的物理地址也是相邻的,那么磁盘查询B+树时就可以顺序IO而不需要随机IO
- 段:段可分为数据段、索引段和回滚段
- 索引段:存放B+树的非叶子节点的区的集合
- 数据段:存放B+树的叶子节点的区的集合
- 回滚段:存放的是回滚数据的区的集合
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mind Palace!