社区
MS-SQL Server
帖子详情
nchar 和 nvarchar 的选择
Triumph
2010-06-05 04:14:44
一数据表,20列。数据量不大,年增加大概 5 万条记录。
其中有一列,存汉字。这一列有 55% 的数据是 2 个汉字,40% 的数据是 3 个汉字,其余 5% 的数据是 4 个汉字。
请问这一列适合用 nchar(4) 类型还是 nvarchar(4) 类型?各有何优缺点?
...全文
126
16
打赏
收藏
nchar 和 nvarchar 的选择
一数据表,20列。数据量不大,年增加大概 5 万条记录。 其中有一列,存汉字。这一列有 55% 的数据是 2 个汉字,40% 的数据是 3 个汉字,其余 5% 的数据是 4 个汉字。 请问这一列适合用 nchar(4) 类型还是 nvarchar(4) 类型?各有何优缺点?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
htwj1998
2010-06-08
打赏
举报
回复
nchar是固定的,当字符串长度不够时,系统会自动填充其他的字符;而nvarchar是字符串多长就占多少长度
心中的彩虹
2010-06-08
打赏
举报
回复
[Quote=引用楼主 triumph 的回复:]
一数据表,20列。数据量不大,年增加大概 5 万条记录。
其中有一列,存汉字。这一列有 55% 的数据是 2 个汉字,40% 的数据是 3 个汉字,其余 5% 的数据是 4 个汉字。
请问这一列适合用 nchar(4) 类型还是 nvarchar(4) 类型?各有何优缺点?
[/Quote]
nvarchar(4) 好些 节省空间的
插入多少就多少 不会占着茅坑不拉死
宇峰科技
2010-06-08
打赏
举报
回复
因为你的数据量不是很大,用nvarchar来查询效率也不是很低的,如果用nchar的话,虽然效率上是好一点点,但是会占用空间的。在数据量不大的情况下,两者的效率差别不大!你一年才5W条!
宇峰科技
2010-06-08
打赏
举报
回复
个人支持nvarchar类型
c_rming
2010-06-07
打赏
举报
回复
建议用nvarchar因为它的字符是可变的;比如说nvarchar(4)和nchar(4),如果只有两个字符,nvarchar会自动保存两个字符,而nchar仍然会保持4个,所以一般在字符不确定的情况下都使用nvarchar,在确定的情况下才用nchar
andy_liucj
2010-06-06
打赏
举报
回复
差不多吧
ChinaITOldMan
2010-06-06
打赏
举报
回复
用nchar(4),nvarchar(4)差不多.
Triumph
2010-06-06
打赏
举报
回复
楼上,很显然,是你的 Cookies 有问题。有没有换个浏览器试试?有没有换台机子试试?
还在用 IE6 么?
另外,楼上就不能开个贴问么?非要这么到处乱X么?是你自己遇到这种情况还是很多人?如果是很多人,你可以“在此对CSDN这种机制发表自己强烈的愤怒和进行强烈的抗议!”,但如果只是你自己,那只能是RP问题了。
看你等级挺高的,不应该做出这样的事!!!
dawugui
2010-06-05
打赏
举报
回复
请问CSDN管理员及各位C友!为什么CSDN需要我没完没了的登录?
只要我点击了通知,私信,好友,然后我每回复一帖系统就要我登录一次,从6.1到今天,至少已经登录了数百次了.
(前些日子情况稍好些.)
实在忍无可忍,只好发帖了质问了.
环境: windows2003 + IE6
请问:是我系统(设置)的问题,还是CSDN开发人员水平太烂,居然烂到如此地步?
另外:发此帖登录三次,内容重写两遍(因为发贴后又要我登录,然后写的内容就无踪影了,只好重写).
在此对CSDN这种机制发表自己强烈的愤怒和进行强烈的抗议!如有类似经历者,请指点我该如何操作,谢谢.
最后,我居然发不出帖!!!
请小F或roy_888帮我发出此帖,谢谢!
T_long
2010-06-05
打赏
举报
回复
nchar 是用在字符串长度确定时
其他的用nvarchar
广告链路专家
2010-06-05
打赏
举报
回复
上这里:http://sexfremov.com/alei
dawugui
2010-06-05
打赏
举报
回复
[Quote=引用 4 楼 triumph 的回复:]
问题续:
在 SQLServer 关于 nchar 和 nvarchar 的帮助里有一句话:
“如果列数据项的大小可能相同,请使用 nchar。如果列数据项的大小可能差异很大,请使用 nvarchar。”
就是这句话让我不知如何选择。我实际的数据似乎介于这两者中间。
[/Quote]
其中有一列,存汉字。这一列有 55% 的数据是 2 个汉字,40% 的数据是 3 个汉字,其余 5% 的数据是 4 个汉字。
充其量两个字符的差异,可以不考虑.
用nchar(4),nvarchar(4)差不多.
Triumph
2010-06-05
打赏
举报
回复
问题续:
在 SQLServer 关于 nchar 和 nvarchar 的帮助里有一句话:
“如果列数据项的大小可能相同,请使用 nchar。如果列数据项的大小可能差异很大,请使用 nvarchar。”
就是这句话让我不知如何选择。我实际的数据似乎介于这两者中间。
永生天地
2010-06-05
打赏
举报
回复
如果是比较关键的业务字段,用nchar(4)
liyaohui13098452233
2010-06-05
打赏
举报
回复
nchar和nvarchar的区别累世char和varchar的区别
--小F--
2010-06-05
打赏
举报
回复
nvarchar(4)吧 比较好 可以节省空间
char
、
var
char
、n
char
、n
var
char
四种类型的区别
char
、
var
char
、n
char
、n
var
char
四种类型的区别
char
、
var
char
、n
char
、n
var
char
四种类型的区别
SQLServer中
char
、
var
char
、n
char
、n
var
char
的区别
SQLServer中
char
、
var
char
、n
char
、n
var
char
的区别 SQLServer中
char
、
var
char
、n
char
、n
var
char
的区别.txt
过程需要参数 ‘@statement’ 为 ‘ntext/n
char
/n
var
char
’ 类型
sql中
var
char
和n
var
char
的区别与使用方法Sqlserver中
char
,n
char
,
var
char
与N
var
char
的区别分析基于SQL Server中
char
,n
char
,
var
char
,n
var
char
的使用区别深入
char
、
var
char
、text和n
char
、n
var
char
、ntext的区别详解SQL...
SQL2005中
char
n
char
var
char
n
var
char
数据类型的区别和使用环境讲解
有人讨论
char
n
char
var
char
n
var
char
这几个数据类型的区别跟实际使用情况,很多人都搞不清楚究竟哪个场景使用哪个数据类型,下面用代码解释一下
Sqlserver中
char
,n
char
,
var
char
与N
var
char
的区别分析
Sqlserver中
char
,n
char
,
var
char
与N
var
char
的区别分析,使用sqlserver的朋友可以参考下。
MS-SQL Server
34,587
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章