InnoDB

InnoDB行格式

  1. Compact
  2. Redundant
  3. Dynamic
  4. Compressed
CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称
ALTER TABLE 表名 ROW_FORMAT=行格式名称

Compact

在这里插入图片描述

  1. 变长字段长度列表(逆序)

所占空间计算规则如下:
W:定义表时的字符集对应占用字节
M:varchar(M)
L:存储的字符串占用的字节数
如果M×W < 256,那么使用1个字节来表示真正字符串占用的字节数。
如果M×W >= 256,则分为两种情况:
  如果L < 128,则用1个字节来表示真正字符串占用的字节数
  如果L >= 128,则用2个字节来表示真正字符串占用的字节数

举例:表A字符集为ascii,列name varchar(256), 添加记录name值占用字节数128,则变长字段占用字节数为2
M:256,因为varchar(256)
W:1,因为ascii占用1字节,utf8占用3字节,gbk占用2字节
L:128,name值
  1. NULL值列表

MySQL规定NULL值列表必须用整数个字节的位表示,如果使用的二进制位个数不是整数个字节,则在字节的高位补0。
举例:表列c1、c2、c3允许为null值,假如插入记录只有c2、c3值为null,则为00000110

  1. 记录头信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值