NVarchar(MAX)用于短字符串

时间:2009-08-04 18:51:48

标签: sql database nvarchar

我感兴趣的是NVarchar(MAX)一个好的数据类型我想存储长度为1-50个字符的短unicode字符串,但是大多数(超过90%)长度为5-10个字符?

该列不会用于比较和排序查询。它可能会作为包含列添加到索引中。预期的行数 - 超过10M。

有什么建议吗?提前谢谢!

3 个答案:

答案 0 :(得分:6)

为什么要对这样的短字符串使用nvarchar(MAX)?如果您知道最大长度为50个字符,请将其设为nvarchar(50)。

另外,我不认为nvarchar(MAX)列可以包含在索引中,因为它会破坏900字节的限制。

答案 1 :(得分:1)

如果最大长度确实为50,我建议 nvarchar(50)更合适。

答案 2 :(得分:1)

NVARCHAR(MAX)(我认为它与早期版本的SQL Server中的NTEXT相同)用于存储变量和可能无限长度的长文本值。

如果您知道值不会超过N个字符,则应使用NVARCHAR(N)。