char是一种固定的长度,无论储存的数据有多长都是固定的长度,如果插入的长度小于定义长度,则可以用空格填充。而varchar是一种可变长度的类型,当插入长度小于定义长度时,则插入多长就保存多长。
最大长度
插入最大长度为255,varchar的最大长度为65535个字节
定长
char是定长的,不足的会用隐形的空格代替,varchar是不定长的
空间使用
char是浪费空间的,varchar是不浪费空间的
查找效率
char查找效率高,varchar查找效率底
尾部空格
char插入时会省略,varchar插入时不省略,查找时省略