一、先说结论
1.char的优点是存储空间固定,所以存储读取速度快。缺点是空间冗余,对于数据量大的表,非固定长度属性使用char字段,空间浪费。
2. varchar字段,存储的空间根据存储的内容变化,空间长度为L+size,存储内容长度加描述存储内容长度信息,优点就是空间节约,缺点就是读取和存储时候,需要读取信息计算下标,才能获取完整内容。
3. 选用:
3.1 固定长度的属性选用char类型,如ID字段长度固定都是36,就选char(36).
3.1 对于字段长度小的且固定长度的属性,例如长度为3的,选char(3)
3.2 对于较长的且不固定长度的属性,用varchar(36).
二、char(10) 和char(6)的区别
- 首先char类型最大存储长度是0-255字符,但是很多使用我们存储一个数据是用不到那么大的空间的,所以通过括号里面的数字来限制空间大小,比如我们确定一个字段最多放10个字符,就可以使用char(10)来限制。
- 那么char(6)和char(10),每个信息占用的空间分别为10个字符和6个字符,不够限定的大小就是用右侧加空格补齐,会造成空间浪费。