本文主要是介绍关于mysql varchar类型的长度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
char
定长 最多255字符 末尾的空格会被默认删除
何时选用char类型储存?
1 数据长度近似 如手机号 身份证 MD5加密后的值
2 短字符串 相对varchar可以节约一个储存长度的空间
3 频繁更新的字段 相对于varchar不会产生长度变化也就不会产生存储碎片
varchar
varchar类型与char类型不同 为变长字符串
在字符长度不超过255时 使用一个字节存储长度
超过255时用两个字节存储长度
每行的varchar总和不得超过65535字节 如果想存储更长的字符串建议选用text格式
既然varchar是变长的 而且不超过255字符时都是用一个字节来存储长度 那么是不是意味着varchar(4) 与varchar(100) 在存储四个字符长度的内容 比如 "abcd"时是完全一样的呢?
mysql在查询时对于varchar字段在内存中是采用固定宽度而不是储存时的变长宽度 尤其是查询时创建的隐形临时表 所以在选择字段属性时还是适可而止 根据自己的业务来选择最合适的并且最小的长度 从而来提高查询速度 减少数据库服务器的开销
何时选用varchar列来储存?
1 字符串列最大长度比平均长度大很多的列 充分发挥变长的特点
2 字符串列较少被更新的列 因为innodb引擎一个存储页为16k 频繁的更新变长字段可能导致存储页的分裂 产生存储碎片
3 多字节字符集 如utf-8
这篇关于关于mysql varchar类型的长度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!