分类: Mysql/postgreSQL
2014-09-22 22:59:55
一、 InnoDB逻辑结构
a) 表空间、段、区、页
i. 表空间
1、InnoDB不会回收Undo空间,但Mysql会自动判断Undo是否需要,不需要则标记为可用。
ii. 段
1、数据段、索引段、回滚段
2、数据段是B+树的页节点、索引段为B+树的非页节点
3、 并不是每个对象都有段,表空间是由页和段组成
iii. 区
1、由64个连续页组成,每页大小16KB
2、数据段,最多每次可申请4个区,保证数据的顺序性
3、每个段开始时,先有32个页大小的碎片页存放数据,使用完后才是64个连续页的申请
iv. 页
1、数据页(B-tree Node)、Undo页(Undo Log Page)、系统页(System Page)、事务数据页(Transaction system Page)、插入缓冲位图页(Insert Buffer Bitmap)、插入缓冲空闲列表页(Insert Buffer Free List)、未压缩(压缩)二进制大对象页
v. 行
1、 InnoDB数据按行进行存放,每页最多存放7992行数据
2、 面向行数据库,与面向列数据库(Google Big Table)
二、 InnoDB物理存储结构
i. InnoDB行记录格式
1. Compact 行记录格式
2. Redundant行记录格式