InnoDB存储引擎磁盘结构

1. 存储地址

不管是那种引擎都是要存储,具体存储在哪个文件,可以通过datadir查询,这个配置可以在你启用mysql之前在config文件里面配置。

SHOW VARIABLES LIKE '%datadir%'

2. 表空间

独立表空间:就是每一个表是有一个独立文件,这是默认的

//默认是开启的,如果关闭就不会每个表都创建一个独立空间,而是会用共享表空间
SHOW VARIABLES LIKE '%innodb_file_per_table%' 

共享表空间

  • 系统表空间

这些表默认都会放到一个系统文件下面,如果一个系统文件放不下,我可能还会指定一些系统文件,所以这是由系统文件去决定的。

耦合性非常高,如果这个文件出问题了,那么所有表都会出问题

  • 通用表空间

指定哪些表到哪个表空间,这个表空间是通用表空间,我可以创建表空间,但创建表的时候可以指定创建的表放在那个表空间下

3. 表空间的存储格式

行格式 ,就是我决定这个行数据是怎样存储的,它是以内存优先,还是以CPU优先,它是节省内存还是cpu的消耗。它会决定我们的一个性能。

行格式有四种:

  1. 冗余行格式
  2. companct:减少我们的行空间的,官方说大约能减少20%,但是增加了cpu的消耗
  3. dynamitc: 是默认的行格式,是多态行格式,允许长度是可变的,所以它可以根据不同的情况去需要更多的空间,是5.7以后默认的行格式
  4. compressed:压缩的行格式,它会对我们的companct进行压缩,检索的时候需要解压,就需要更多的cpu

page页:一般一个行不能超过一个页的一半,在页里面,为了更好管理页,又有一个区的概念,叫extent(区),

extent(区):区是属于一个页的分组,在一个区里面最少能存储64的page

segement(段):是为了更好管理我们的区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值