我不应该在Sql Server中使用NVARCHAR吗?

mmc*_*ole 6 sql sql-server varchar nvarchar

我现在正在设计一个数据库方案,为了安全起见我应该使用nvarchar作为我的文本列的数据类型(用于unicode支持).虽然我不期望非英语文本,但我认为最好从一开始就支持它以防万一.

我有什么理由坚持使用普通varchar吗?性能?

Mar*_*ell 11

在今天的i18n世界中,nvarchar非常有意义.varchar可能对指定不是unicode的数据有意义(可能你有一些系统字段需要是ASCII).

我默认使用nvarchar来表示名称,描述,地址等.

varchar更小,所以有可能是一些IO储蓄与varchar过度nvarchar(但要注意代码的页面将成为一个更大的问题太).


mic*_*cet 1

是的,性能,尺寸。nvarchar 需要更多字节,我认为它是双倍的(如果我错了请纠正我),这是因为 unicode 支持。因此,如果您不需要 unicode 支持,请使用常规 varchar。