假设您的数据或应用程序不必匹配精确长度,为什么有人会选择使用char(或nchar)而不是varchar(或nvarchar)?
答案 0 :(得分:3)
CHAR(100)
总是存储100个字节(或者字符取决于您的RDBMS)。 VARCHAR(100)
将存储最多100个字节加上必要的字节数来存储字符串的长度。
例如,如果我存储" Foo"在Char(100)
中,它将在我的字段中占用100个字节。如果我存储" Foo"在VARCHAR(100)
中它将占用5个字节。每个字符3个字节,2个字节表示" 3"的长度。
如果您的数据长度可变,那么请使用VARCHAR()
来节省空间,如果长度始终相同则使用CHAR()
来节省空间(因为您不必编写长度与字符)。