Sql server 2008 r2 nchar与nvarchar作为SQL Server 2008 R2中的主键

Sql server 2008 r2 nchar与nvarchar作为SQL Server 2008 R2中的主键,sql-server-2008-r2,Sql Server 2008 R2,我通常使用代理数字主键。但现在我必须使用10个字符的文本主键 我的问题是它应该是nchar还是nvarchar?谢谢 编辑 感谢您的回复-我知道nchar和nvarchar之间的区别,我的问题是我应该使用哪一个作为主键,谢谢。来自的建议非常简单: 当列数据项的大小可能变大时,请使用nchar 相似。当列数据项的大小 可能会有很大的不同 对于10个字符的标识符,答案是nchar。您的10个字符标识符真的有可能包含Unicode文本吗?如果不是,则每个字符浪费两个字节,应该使用char而不是ncha

我通常使用代理数字主键。但现在我必须使用10个字符的文本主键

我的问题是它应该是nchar还是nvarchar?谢谢

编辑

感谢您的回复-我知道nchar和nvarchar之间的区别,我的问题是我应该使用哪一个作为主键,谢谢。

来自的建议非常简单:

当列数据项的大小可能变大时,请使用nchar 相似。当列数据项的大小 可能会有很大的不同


对于10个字符的标识符,答案是nchar。

您的10个字符标识符真的有可能包含Unicode文本吗?如果不是,则每个字符浪费两个字节,应该使用
char
而不是
nchar