SQL中的CHAR数据类型是否已过时?你什么时候使用它?

cdo*_*ner 7 sql types char

标题几乎构成了问题.我多年没有使用过CHAR.现在,我正在对一个包含CHAR的数据库进行逆向工程,包括主键,代码等.一个CHAR(30)列怎么样?

编辑:所以一般意见似乎是CHAR,如果对某些事情完全没问题.但是,我认为您可以设计一个不需要"这些特定事物"的数据库模式,因此不需要固定长度的字符串.使用bit,uniqueidentifier,varchar和text类型,似乎在一个良好规范化的模式中,当您使用编码的字符串值时,您将获得某种优雅.以固定长度思考,没有冒犯意味着,似乎是大型机时代的遗物(我曾经自己学过RPG II).我相信它已经过时了,我没有听到你声称不同的令人信服的论点.

Otá*_*cio 6

我使用char(n)代码,varchar(m)进行描述.Char(n)似乎导致更好的性能,因为当内容大小改变时数据不需要移动.


luk*_*e_f 4

当数据的性质决定字段的长度时,我使用 CHAR。否则为 VARCHAR。

  • @cdonner 仍然有很多常见字段,如电话号码、邮政编码、州缩写等长度不可变的字段。此外,还可能有内部代码和诸如序列号、部门号、扩展名、站点 ID、商店号等字段不是变量的内容,而 CHAR 可以正常工作并且是最佳选择。 (2认同)