计算规则

1.索引字段,非NOT NULL,加1个字节。
2.定长字段:tinyint占1个字节、int占4个字节、bigint占8个字节、date占3个字节、datetime占5个字节,char(n)占n个字符。
3.变长字段:varchar(n)占n个字符+2个字节。
4.不同的字符集,一个字符占用的字节数不同:

  • latin1编码,每个字符占用一个字节
  • gbk编码,每个字符占用两个字节
  • utf8编码,每个字符占用三个字节
  • utf8mb4编码,每个字符占用四个字节

例子

字段:phone varchar(20) DEFAULT NULL COMMENT ‘手机号’
条件:where phone=‘xxx’
通过explain查看key_len
utf8mb4编码下,key_len=83,即20*4+2+1
utf8编码下,key_len=63,即20*3+2+1

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐