VARCHAR 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节
CHAR 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节
VARCHAR 的类型不以空格填满,比如VARCHAR(100),但它的值只是"QIAN",则它的值就是"QIAN"
而CHAR 不一样,比如CHAR(100),它的值是"QIAN",而实际上它在数据库中是"QIAN "(QIAN后共有96个空格,
就是把它填满为100个字节)。
由于CHAR是以固定长度的,所以它的速度会比VARCHAR快得多!但程序处理起来要麻烦一点,要用TRIM之类的函数把两边的空格去掉!
[上面的理论是从网上copy来的]
至于用法如下:
在一些长度变化不是很大的字段应该用char类型,而对长度变化很大的字段应该用varchar类型了。
温馨提示:内容为网友见解,仅供参考