在mysql中,字符串类型中的char属于有固定长度的字符串类型;二varchar类型属于可变长度的字符串类型;如何理解固定长度和可变长度呢?
固定长度指:当长度设置为4时,长度是固定的;当实际值只有1位时,会自动用空格补足4位;
可变长度指:当长度设置为4时,长度是随着实际值为改变,最长为4;当实际值只有1位字节时,则值会占用1位的字节的长度,同时再加上1位记录长度的字节,即总长为1+1=2;
因此在存储空间上:char占用4位的存储空间;但是在检索时,会自动去掉空格符;因此处理效率相对较快;
而varchar类型;虽然节省了空间,但是多了一步计算记录的长度;因此处理效率相对char来说会慢一些;
总结:存储很短的信息或者考虑效率方面无需考虑存储空间时,建议使用char类型;