【发布时间】:2017-04-13 06:57:26
【问题描述】:
我目前正在为一家大公司开发,他们要求我按照一些指导方针为项目创建一个数据库,但我有一个关于 char 和 varchar 的小问题。
我有一个可以是 8 或 11 个字符的字符串,我想知道哪个是最好的解决方案:
myColumn varchar(11)
要么
myColumn char(11)
一开始我在想第二个,但是char是固定长度的,不是吗?
感谢您的回答。
【问题讨论】:
-
c-sharpcorner.com/uploadfile/cda5ba/…。这应该让您对使用什么有所了解。
-
查看这个完整的答案。 stackoverflow.com/a/59686/6211175
-
@PareshJ 不要发火,试着给出一个体面的答案。
-
但据我所知 varchar 会是一个更好的选择,因为它只会分配你需要的内存,而 char 会占用全部长度。
-
在这种情况下,CHAR 是最好的选择,为什么?如果字符串为 8 > char (11) 分配 11 字节 VS varchar(11) 分配 10 字节(8 + 2 开销)......如果字符串为 11 > char (11) 分配 11 字节 VS varchar(11) 分配13 字节(11 + 2 开销)除了 char 位比 vahchar 快
标签: sql-server char varchar