目录
varchar(10) 与 varchar(20) 的区别?
char 与 varchar 的区别?
char 的长度是固定的
varchar 的长度是可变的
比如,char(10) 和 varchar(10) 假如都存储字符串 "abc"。
那 char(10) 就完完全全地占据10个字节,虽然包括了 7 个空字符串。
而 varchar(10) 则只会占据 3 个字节,剩下 7 个字节的位置并不会算到内存中。
char 的效率比 varchar 要高
由于 char 的长度是固定的,相同数据量的情况下消耗的空间更多,以空间换时间,所以效率比 varchar 要更高。
varchar(10) 与 varchar(20) 的区别?
varchar(10) 和 varchar(20) 如果存储相同长度的字符串,所占的空间是一样的。
但是如果涉及到 order by 排序相关,后者会比前者消耗更多的内存空间,因为 order by col 采用 fixed_length 计算 col 长度。