首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >varchar或nvarchar

varchar或nvarchar
EN

Stack Overflow用户
提问于 2009-08-13 11:09:04
回答 9查看 9.8K关注 0票数 13

我正在存储名字和姓氏,每个名字最多包含30个字符。varcharnvarchar哪个更好。

我读到过,与varchar相比,nvarchar占用了两倍的空间,而且nvarchar用于国际化。

那么你建议我应该使用什么呢:nvarchar还是varchar

另外,请让我知道这两个的表现。两者的性能是相同还是不同。因为空间不是太大的问题。问题在于性能。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-08-13 11:19:10

基本上,nvarchar意味着你可以处理很多字母表,而不仅仅是普通的英语。从技术上讲,这意味着支持unicode,而不仅仅是ANSI。这意味着两倍宽的字符或大约两倍的空格。如今,磁盘空间非常便宜,您可以从一开始就使用nvarchar,而不是经历在产品生命周期中必须进行更改的痛苦。

如果你确定你只需要支持一种语言,你可以坚持使用varchar,否则我会选择nvarchar。

这在here之前就已经在SO上讨论过了。

编辑:按照注释中的说明,将ascii更改为ANSI。

票数 19
EN

Stack Overflow用户

发布于 2009-08-13 11:13:08

首先,为了澄清,nvarchar存储unicode数据,而varchar存储ANSI (8位)数据。它们的功能相同,但nvarchar占用了两倍的空间。

通常,我更喜欢使用varchar数据类型存储用户名,除非这些名称的字符超出了varchar可以存储的字符边界。

它还依赖于数据库排序规则。例如,如果您的数据库排序规则为LATIN_CS_AS,您将无法在varchar字段中存储俄语字符。但是,如果您使用的是本地应用程序,则应将数据库排序规则设置为俄语。这将允许您在varchar字段中输入俄语字符,从而节省一些空间。

但是,现在,大多数正在开发的应用程序都是国际化的,所以您必须自己决定哪些用户将注册,并根据这些决定数据类型。

票数 7
EN

Stack Overflow用户

发布于 2009-08-13 11:13:39

我认为nvarchar是

的两倍。

是。

nvarchar用于国际化。

是。

你建议我应该使用

还是varchar?

这取决于应用程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1271313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档