key_len计算规则

1) 索引字段的附加信息,可以分为变长和定长数据类型讨论,当索引字段为定长数据类型,比如说char int datetime,需要有是否为空的标记,这个标记需要占用1个字节对于变长数据类型,比如说:varchar,除了是否为空的标记外,还需要有长度的信息需要占用两个字节(备注:当字段类型定义为非空的时候,是否为空的标记将不占用字节)

2) 同时还需要考虑表所使用的字符集,不同的字符集,gbk编码的为一个字符2个字节,utf3个字节

总结key_len的长度计算公式

varchar(10)变长且允许null:10*(character set:utf8=3,gbk=2,latin1=1)+1(null)+2(变长字段)

varchar(10)变长字段且不允许null:10*(character set:utf8=3,gbk=2,latin1=1)+2(变长字段)

char(10)固定字段且允许null:10*(character set:utf8=3,gbk=2,latin1=1 )+1(null)

char(10)固定长度且不允许为null:10*(character set:utf8=3,gbk=2,latin1=1 )

注:order所使用的索引长度不包含在内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值