Mysql---InnoDB 逻辑存储结构表空间、段、区、页的关系

提示:Mysql—InnoDB 逻辑存储结构表空间、段、区、页的关系

在这里插入图片描述

表空间-TABLE SPACE

从 InnoDB 逻辑存储结构来看,所有的数据都被逻辑的存放在一个空间中,这个空间就叫做表空间(tablespace)。表空间由 段(segment)、区(extent)、页(page)组成。

lnnoDB存储引擎的逻辑存储结构和 Oracle大致相同 ,所有数据都被逻辑地存放在一个空间中 ,我们称之为表空间 ( tablespace ) 。表空间又由段 ( segment ) 、区 ( extent ) 、页 ( page ) 组成 。页在一些文档中有时也称为块(block) , InnoDB存储引擎的逻辑存储结构大致如上一张的图片一样。

表空间可以看做是InnoDB存储引擎逻辑结构的最高层 ,所有的数据都是存放在表空间中。默认情况下 InnoDB存储引擎有一个系统表空间 ,即innoDB data dictionary(InnoDB元数据信息)、doublewrite buffer(双写缓冲区)、change buffer(改变缓冲区)、undo logs都放在这个表空间内 。如果我们启用了参数innodb_file_per_table ,则每张表内的数据可以单独放到一个表空间内

表空间

1、表空间可以看做是InnoDB存储引擎逻辑结构的最高层,所有的数据都存放在表空间中。
2、表空间是一个逻辑容器,表空间存储的对象是段,在一个表空间中可以有一个或多个段。
3、表空间从管理上可以分为系统表空间、独立表空间、撤销表空间和临时表空间等。

1 查看

show variables like ‘innodb_file_per_table’;

show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.01 sec)

innodb_file_per_table 是否开启单表表空间,该参数为全局参数,可动态修改,默认为ON,如果设置为OFF,在没有显式指定表空间情况下,数据及索引默认存放到系统表空间ibdata下

表空间相关参数

innodb_data_file_path : 表空间大小及文件个数由该参数决定,该参数为全局参数,不可动态修改,默认值为 ibdata1:12M:autoextend,默认的12M大小是根据innodb_page_size按最大值指定的,为了确保其空间可以容纳doublewrite buffer pages,则:
innodb_page_size为16K时(MySQL默认值) 最小值为3M
innodb_page_size为32K时 最小值为6M
innodb_page_size为64K时 最小值为12M

段(segment)

​ 段(Segment)分为索引段,数据段,回滚段等。其中索引段就是非叶子结点部分,而数据段就是叶子结点部分,回滚段用于数据的回滚和多版本控制。一个段包含256个区(256M大小)。

​ 一个段包含多少区:256个区

区(extent)

​ 区是页的集合,一个区包含64个连续的页,默认大小为 1MB (64*16K)。

页(page)内部结构

数据页的16KB大小的存储空间被划分为七个部分,分别是 文件头(File Header)、页头(Page Header)、最大最小记录(Infimum+supremum)、用户记录(User Records)、空闲空间(Free Space)、页目录(Page Directory)和文件尾(File Tailer)。

在这里插入图片描述

​ 页是 InnoDB 管理的最小单位,常见的有 FSP_HDR,INODE, INDEX 等类型。所有页的结构都是一样的,分为文件头(前38字节),页数据和文件尾(后8字节)。页数据根据页的类型不同而不一样。

​ 每个空间都分为多个页,通常每页16 KiB。空间中的每个页面都分配有一个32位整数页码,通常称为“偏移量”(offset),它实际上只是页面与空间开头的偏移量(对于多文件空间,不一定是文件的偏移量)。因此,页面0位于文件偏移量0,页面1位于文件偏移量16384,依此类推。 (InnoDB 的数据限制为64TiB,这实际上是每个空间的限制,这主要是由于页码是32位整数与默认页大小的组合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值