计算规则
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