如何区别char与varchar?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何区别char与varchar?相关的知识,希望对你有一定的参考价值。

1、varchar与char两个数据类型用于存储字符串长度小于255的字符,mysql5.0之前是varchar支持最大255。比如向一个长度为40个字符的字段中输入一个为10个字符的数据。使用varchar取为10个字符;使用char取为40个字符。

2、varchar占用更少的存储空间,拥有额外1-2个字节存储长度(比如:列长度<=255时,varchar(255)会占用256个字节存储空间加1,varchar(256)会占用258个字节存储空间加2),5.0以上版本,取值或设置值都会保存字符串末尾的空格,4.1之前的版本都会把字符串末尾的空格删除掉,最大长度远大于平均长度,很少发生更新的时候适合使用varchar,因为碎片更少了。

3、char使用固定长度,保存的时候会去掉字符串末尾的空格,适合保存MD5后的哈希值或经常改变的值,因为固定的行不容易产生碎片,处理的速度比varchar快,因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡。

 

以上是关于如何区别char与varchar?的主要内容,如果未能解决你的问题,请参考以下文章

char与varchar的区别

char 与 varchar 的区别

MYSQL, char 与 varchar的区别!

实体框架代码优先 MaxLength 和 FixedLegth(char 与 varchar)

Oracle中的Char与Varchar的区别和实例

MySQL中varchar与char区别