Char和VarChar有啥区别[重复]
Posted
技术标签:
【中文标题】Char和VarChar有啥区别[重复]【英文标题】:What's the difference between Char And VarChar [duplicate]Char和VarChar有什么区别[重复] 【发布时间】:2015-12-12 06:13:10 【问题描述】:处理一个简单的数据库。 我想知道什么时候应该使用这两种情况? 我知道您使用 char 表示字符,但是 varchar 呢?
【问题讨论】:
char
= 固定长度。 varchar
= 可变长度。 varchar
在用于确定记录长度的记录 (IIRC) 末尾附加一个或两个或更多字节。对于varchar(255)
,在处添加了一个额外的字节(因为 1 个字节可以容纳数字 0 - 255)。如果您的文本长度为 5 个字符,varchar
将分配 6 个字节来保存数据。如果存储值,例如 sha1
哈希的文本表示(二进制是更好的选择,但这是为了举例),那么 char(40)
适合这种情况,因为 varchar(40)
需要一个额外的字节。
【参考方案1】:
通常,在大多数情况下,您会希望选择 varchar 而不是 char。当您有不同长度的字符串时使用 Varchar,使其更安全,而 char 适用于相似长度。希望有帮助
【讨论】:
我自己喜欢 varchar(1) 除了节省空间之外,我不知道 VARCHAR(); 的任何好处;虽然它确实有一些缺点(至少在使用 MyISAM 存储引擎时)。以上是关于Char和VarChar有啥区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章
sql 中int nvarchar char VARchar 有啥区别