varchar更适用于可变长度字符串的存储,char属于固定长度字符串类型存储。对于未知长 度的字符串存储varchar更适合
-
varchar
优点:
1.使用比固定长度类型(char
)占用更少的存储空间(除了使用ROW_FORMAT=FIXED创建的 MyISAM表)
2.使用额外1-2个字节来存储值长度,例L<=255使用1字节存储长度,其他情况使用2字节存储值长度,例:varchar(10)占用11字节存储空间
3.节约空间,所以性能会有帮助。在更新的时候会产生额外的工作。
4.5.0以上版本,取值或设置值都会保存字符串末尾的空格,4.1之前的版本都会把字符串 末尾的空格删除掉。
5.最大长度远大于平均长度,很少发生更新的时候适合使用varchar,因为碎片更少了。