以下仅适用于In弄DB存储引擎
- 表都是根据主键顺序组织存放的(这种表称为索引组织表)
主键的确定:
显示创建的主键
如果没有显示创建主键,找表中非空唯一索引
如果也没有非空唯一索引,则自动创建一个6字节大小指针
2.InnoDB逻辑存储结构
表空间:
默认情况下InnoDB存储引擎有一个共享表空间ibdata1,所有数据都存放在这个表空间内;
启用参数innobd_file_per_table,则表内的数据可以单独放到一个表空间
(存放只是数据、索引和插入缓冲页),其它类的数据,如回滚信息,插入缓冲索引页等还是存放在原来的共享表空间内
段
数据段
索引段
回滚段
InnoDB存储引擎表示索引组织的,因此数据即索引。索引即数据。数据段为B+树的的叶子节点,索引段为B+树的的非叶子节点
区
连续的页组成的空间
页
InnoDB常见页类型
数据页(B-tree Node)
undo页(undo Log Page)
系统也(System Page)
事务数据页(Transaction system Page)
插入缓冲位图也(Insert Buffer Bitmap)
未压缩的二进制大对象也(Uncompressed BLOB Page)
压缩的二进制大对象页(compressed BLOB Page)
行
InnoDB行记录格式
Compact行记录格式(MySQL5.0引入)