MySQL表空间

MySQL表空间

文章目录

  • MySQL表空间
    • 1. MySQL中的表
      • 1.1 IOT表
      • 1.2 InnoDB逻辑存储结构
    • 2. 独立表空间
      • 2.1 段 segment
        • 2.1.1 段的概念
        • 2.1.2 段的分类
          • 2.1.2.1 叶子节点段
            • 主要结构
          • 2.1.2.2 非叶子节点段
        • 2.1.3 碎片区
      • 2.2 区
        • 2.2.1 区的概念
        • 2.2.2 区的结构
          • 2.2.2.1 XDES Entry结构
      • 2.3 页
        • 2.3.1 页的概念
        • 2.3.2 页面类型
          • FSD_HDR
          • IBUF_BITMAP
          • INDOE
          • XDES类型
        • 2.3.3 页面通用结构
          • 2.3.4 INNODB数据页结构
            • 2.3.4.1 File Header
            • 2.3.4.2 Page Header
            • 2.3.4.3 page directory
        • 2.3.4 关于段的一些问题
      • 2.4 行
        • 2.4.1 行记录格式
        • 2.4.1.1 COMPACT
          • 行格式
        • 2.4.1.2 REDUNDANT
          • 行格式
            • 记录额外的信息
            • 记录真实的数据
        • 2.4.1.3 COMPRESSED &DYNAMIC
        • 溢出列
    • 3. 系统表空间
      • 3.1 extent0
      • 3.2 extent 1& extent2
      • 3.3 INNODE数据字典及元数据
        • 基本系统表
        • 其他表
    • 4. 相关参数
      • 4.1 表空间相关参数
        • innode_file_per_table
      • 4.2 页相关参数
        • innodb_page_size
        • innodb_max_dirty_page_pct
      • 4.3 双写缓冲区相关参数
        • innodb_doublewrite
    • 5. 表空间相关问题
      • 5.1 申请页面的过程

1. MySQL中的表

1.1 IOT表

在inodb存储引擎中,表是根据主键来组织存放的,这种存储方式称之为```Index organized table(IOT)索引组织表.
IOT表的选择主键方式为:
a. 表中定义的primary key
b. 判断表中是否有非空唯一主键
c. 表中的隐藏字段(row id)

ps: 主键的选择根据的是定义索引的顺序,而不是建表的顺序

1.2 InnoDB逻辑存储结构

图示:
MySQL表空间_第1张图片
InnoDB表是存储在表空间中的,表空间只是一个逻辑的概念,表数据实际是存储在页面里的。

2. 独立表空间

2.1 段 segment

2.1.

你可能感兴趣的:(mysql,数据库)