CHAR和VARCHAR

来自姬鸿昌的知识库
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

char是一个固定长度的字符串,varchar是一个可变长度的字符串

假设声明一个char(10)来存储字符串 “ABC”,虽然实际长度只有3,但是char还是会占用10个字符的存储空间;

同样如果用varchar(10)来存储,那么实际就只会使用3个字符的存储空间


存储效率不同

char类型每次修改之后存储空间的大小不变,所以效率更高;

varchar 每次修改数据都需要更新存储空间的大小,效率较低


存储空间不同

char不管实际存储的数据多大,使用的存储空间都是固定的;

varchar存储空间等于实际数据长度,所以varchar实际存储空间的使用要比char更小


结论

char适合存储比较短的且是固定长度的字符串;

varchar适合存储可变长度的字符串


MD5使用char存储还是varchar存储

MD5就比较适合使用char类型存储,因为char类型是一种固定长度的字符串,而MD5算法生成的字符串就是一个固定长度的字符串,不管数据怎么修改,长度是不变的;

另外因为固定长度,所以在数据变更的时候,不需要去调整存储空间的大小,在效率上会比varchar更好一些