1呕臂、CHAR的長度是不可變的,而VARCHAR的長度是可變的,也就是說,定義一個CHAR[10]和VARCHAR[10],如果存進去的是‘ABCD’, 那么CHAR所占的長度依然為10蕉堰,除了字符‘ABCD’外,后面跟六個空格悲龟,而VARCHAR的長度變?yōu)?了屋讶,取數(shù)據(jù)的時候,CHAR類型的要用trim()去掉多余的空格躲舌,而VARCHAR類型是不需要的丑婿。
2、CHAR的存取速度要比VARCHAR快得多没卸,因為其長度固定羹奉,方便程序的存儲與查找;但是CHAR為此付出的是空間的代價约计,因為其長度固定诀拭,所以難免會有多余的空格占位符占據(jù)空間,可以說是以空間換取時間效率煤蚌,而VARCHAR則是以空間效率為首位的耕挨。
3细卧、CHAR的存儲方式是,一個英文字符(ASCII)占用1個字節(jié)筒占,一個漢字占用兩個字節(jié)贪庙;而VARCHAR的存儲方式是,一個英文字符占用2個字節(jié)翰苫,一個漢字也占用2個字節(jié)止邮。
4、兩者的存儲數(shù)據(jù)都是非unicode的字符數(shù)據(jù)奏窑。