我们在设计数据库表的时候,有些字段会设计为不能为空,有些字段可以为空,这时,数据库底层会为可以为空的字段添加一个标识,这个标识要占一个字节,因此会多一个字节
这里看表test_k1
我们可以看到,查询不可以为空的name字段时key_len 长度为60(utf8一个字符占3个字节20x3=60),而查询可以为空的name1时,key_len长度为61(表是空表,无数据)
如果字段类型为varchar(varchar与char区别在于varchar是可变长度,char是固定长度),可以为空时,一个字节的标识符标识可以为空,同时系统还有2个字节的标识来表示其为可变长字段,即key_len为62或63