char属于固定长度的字符类型,varchar属于可变长度的字符类型。
char处理速度比varchar快,但是浪费存储空间,程序需要对行尾空格进行处理,对于长度变化不大并且查询速度有较高要求的数据可以使用char。
不同的存储引擎对char和varchar的原则
MyISAM:建议使用固定长度的数据列代替可变长度的数据列。//默认存储格式是静态表
MEMORY:使用固定长度的数据行存储,因为无论char还是varchar都默认作为char处理,速度快。
InnoDB:建议使用varchar,存储格式没有区分固定场地和可变长度列,因此性能上差别不大,而varchar占用空间小。