mysql中Innodb简介

1.myql默认的存储引擎是Innodb,数据库读取和操作数据都是通过存储引擎进行的。

2.Innodb为了避免从磁盘读取数据过多,将存储数据在磁盘和内存中通过页为单位进行交互,一个页默认16kb,一般情况一次读取最少读取16kb内容

3.Innodb引擎中的记录行格式有四种分别为COMPACT(如图),Redundant,Dynamic(mysql5.7后默认),Compressed。

4.一个记录行中记录的数据除了真实数据还有额外数据(变长字段长度列表,NULL值列表,记录头信息),当页中的记录数据太多导致当前页面放不下时,会发生行溢出(把多余的数据存储到其他页中)。COMPACT行格式如果发生行溢出会把真实数据存储到其他页面中,只在记录的真实数据记录其它页面的地址。Dynamic和Compressed记录真实数据存储字符串的钱768个字节,其他字节存储到其他页,Compressed格式会采用压缩算法对页面进行压缩以减少存储空间。

5.Innodb有不同种类的数据页,存储表记录的成为数据页,数据页由File Header, Page Header, Infimun+Supremun, User Records, Free Space, Page Directory, File Trailer几部分组成。

6.Innodb页中所有记录都是按主键大小排列的单向链表,通过记录头中的next_record进行相连。

7.每个数据页的File Header都有上一页和下一页的编号,同一层级的数据页会组成双向链表。

8.每个记录除了数据本身,还有row_id(非必须有,如果设置了主键或者有唯一索引不会生成), transaction_id书屋id, roll_pointer回滚指针。

9.Innodb记录的记录投中的一些重要信息:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值