您的位置:首页 > 其它

key_len计算规则

2016-03-07 16:58 155 查看
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所使用的索引长度不包含在内
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: