MySQL中varchar值应该设计成多少合适
MySQL中varchar存储限制
1、varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。
2、varchar 栏位如果不定义not null 时,默认null也需要占1字节。
3、mysql表里单行中的所有列加起来(不考虑其他隐藏列和记录头信息) ,占用的最大长度是65535个字节。
MySQL中varchar编码长度限制
1、字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;
2、字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。
3、对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。
4、若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。
5、lantin1字符集存储的每个值占1字节。
我的笔记