长度:char长度固定,varchar长度不固定
例如定义 char[10] 与 varchar[10] ,当存储 " test " 时,char长度依旧为10,后六位为空格,而varchar长度变为4,因此取数据char要用trim ( ) 函数去除空格。
效率:char > varchar
因为char长度固定,方便程序的存储与查找,但是char为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,而varchar是以空间效率为首位的。
存储:
-
char的存储:英文字符(ASCII)占用1个字节,一个汉字占用两个字节;
-
varchar的存储:每个英文字符占用2个字节,汉字也占用2个字节。
两者的存储数据都非unicode的字符数据