MySQL学习笔记(3)

InnoDB存储引擎:表
表就是关于特定实体的数据集合。

  1. 索引组织表

    根据主键顺序组织存放——索引组织表
    每一张表都有自己的主键,如果没有定义主键,则InnoDB存储引擎会按如下方法选择或创建主键:
    – 先判断表中是否有非空唯一索引,有,则为主键。如果存在多个非空唯一索引,InnoDB则将按定义索引的顺序选择主键,而非建表时的列顺序。
    – 没有,InnoDB存储引擎会自动创建一个6字节大小的指针。

  2. InnoDB逻辑存储结构
    数据存在表空间,表空间由段(segment)、区(extent)、页(page)组成,如下图:
    InnoDB逻辑存储结构
    表空间

    表空间由各个段组成,常见的段有数据段、索引段、回滚段等。

    区由连续的页组成。区的大小为1M。每个页为16K,因此一个区由64个连续的页。

    InnoDB磁盘管理的最小单位,默认为16K,可压缩到4K、8K、16K。

  3. InnoDB行记录格式
    记录以行的形式存储,即页中的行保存着表中的一行行数据。
    Compact行纪录格式(需详细了解)
    Compact行记录格式
    Redundant行记录格式(不做深究)
    行溢出数据

  4. 数据页结构

    InnoDB数据页由以下部分组成:
    file header(文件头)(38字节)
    page header(页头)(56字节)
    infimun和supremum record
    user record(用户记录,即行记录)
    free space(空闲空间)
    page directory(页目录)
    file trailer(文件结尾信息)(8字节)
    InnoDB存储引擎数据页结构


以上整理自《MySQL技术内幕:InnoDB存储引擎》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值