Wah*_*eed 13 sql sql-server variables sql-server-2005
我存储名字和姓氏,每个最多30个字符.哪个更好varchar或nvarchar.
我已阅读,nvarchar尽可能多的空间两倍占用比varchar和nvarchar用于国际化.
所以我建议你应该使用:nvarchar或者varchar?
另外,请告诉我两者的表现.两者的表现是相同的还是性能不同.因为空间不是太大的问题.问题是表现.
dav*_*ave 19
基本上,nvarchar意味着您可以处理许多字母表,而不仅仅是普通英语.从技术上讲,它意味着unicode支持,而不仅仅是ANSI.这意味着双倍宽度字符或大约两倍的空间.这些天,磁盘空间这么便宜,你还不如用nvarchar的从一开始,而不是去通过具有产品的生命周期内改变的痛苦.
如果你确定你只需要支持一种语言就可以使用varchar,否则我会选择nvarchar.
编辑:如注释中所述,将ascii更改为ANSI.
首先,澄清一下,nvarchar存储unicode数据,同时varchar存储ANSI(8位)数据.它们的功能相同,但nvarchar占用的空间是原来的两倍.
通常,我更喜欢使用varchar数据类型存储用户名,除非这些名称的字符超出了varchar可以存储的字符的边界.
它还取决于数据库整理.例如varchar,如果您的数据库整理是,您将无法在字段中存储俄语字符LATIN_CS_AS.但是,如果您正在处理仅在俄罗斯使用的本地应用程序,则将数据库排序规则设置为俄语.这将做的是,它将允许您在varchar字段中输入俄语字符,节省一些空间.
但是,现在,大多数正在开发的应用程序都是国际性的,因此您必须自己决定注册所有用户,并根据这些决定数据类型.