天天看点

mysql varchar和char的区别

比较:

写法 M的意思 特点 空间消耗 效率
char char(M) 最大的字符数,可以省略,默认为1 固定长度的字符串 比较耗费
varchar varchar(M) 最大的字符数,不可以省略 可变长度的字符串 比较节省

使用场景:

如果我们能确定字符长度的用char,比如性别(男女)

结论:

1、经常变化的字段用varchar;

2、知道固定长度的用char;

3、超过255字节的只能用varchar或者text;

4、能用varchar的地方不用text;

5、能够用数字类型的字段尽量选择数字类型而不用字符串类型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了;

6、同一张表出现多个大字段,能合并时尽量合并,不能合并时考虑分表,原因请考 优化InnoDB表BLOB,TEXT列的存储效率

继续阅读