登录
首页 >  数据库 >  MySQL

MySQL 表结构

来源:SegmentFault

时间:2023-01-25 10:39:29 224浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《MySQL 表结构》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下MySQL,希望所有认真读完的童鞋们,都有实质性的提高。

表结构

本文总结自《MySQL技术内幕:InnoDB存储引擎(第2版)》

索引组织表

InnoDB 存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(Index organized table)

InnoDB 存储引擎表中,每张表都有主键,如果创建表时没有显式定义主键,则会按照以下规则创建:

  1. 如果表中有非空唯一索引(Unique Not Null),咋设该列为主键
  2. 如果没有,则会自动创建 6 字节大小的指针
  3. 如果有多个非空唯一索引,则会选择定义索引顺序时的第一个

InnoDB 逻辑存储结构

image.png

表空间

表空间可以看做 InnoDB 存储引擎最高层,所有数据都存放在表空间中,落到磁盘上即 ibdata 文件,可以通过

innodb_file_per_table
参数设置每张表单独放到一个表空间内

表空间由各种段组成,如:数据段、索引段、回滚段等

由于 InnoDB 存储引擎表是索引组织的,因此数据段即为 B+ 树的叶子节点,索引段为 B+ 树的非索引节点

区是由连续的页组成,任何情况下大小都为 1MB,默认情况下 InnoDB 存储引擎页大小为 16KB,一个区由 64 个连续的页组成

页是 InnoDB 磁盘管理的最小单位,默认情况下 InnoDB 存储引擎页大小为 16KB

用于存放每一行数据

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《MySQL 表结构》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表