我感兴趣的是NVarchar(MAX)一个好的数据类型我想存储长度为1-50个字符的短unicode字符串,但是大多数(超过90%)长度为5-10个字符?
该列不会用于比较和排序查询。它可能会作为包含列添加到索引中。预期的行数 - 超过10M。
有什么建议吗?提前谢谢!
答案 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)。