固定字符
n 最大值为 255
每个数据占用的磁盘空间均为 n 个字符(不是字节,一个汉字是一个字符)
数据不足 n 个字符,用空格补齐
数据超过 n 个字符,则发生截断
读取时,MySQL 会自动截断尾部的空格
存在浪费空间,数据被截断的风险
访问速度快
变长字符
n 最大为 65535
每个数据占用的磁盘空间为真实字符数 + 1
如果真实字符数 + 1 超过 n 个字符,则发生截断
存在数据被截断的风险
访问速度慢
充分利用空间
保存变长大数据
最大长度为 65535
text 和 varchar 的区别在于:text 的真实长度用额外空间保存,而 varchar 真实长度保存在 65535 空间中,因此,varchar 能保存的最大真实长度少于 65536
当 varchar(n) 中的 n 大于特定值时,MySQL 会自动将其转换成 text
大于 255,varchar 自动转换成 tinytext
大于 500,varchar 自动转换成 text
大于 20000,varchar 自动转换成 mediumtext
文章转载自每天一个开发小知识,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




