关于mysqlvarchar类型的长度varchar2最大长度
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。