sql 备注的一列 长度定义 nvarchar(max)合适吗? 数据库是怎么分配空间的? 20

 我来答
lfclover
推荐于2018-03-22 · TA获得超过158个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:131万
展开全部
没问题,varchar和nvarchar是不定长的,数据库会根据存放的实际字节分配长度的,不会直接分配4000字节。除了存放英文字母的时候会占用两个字节,有点浪费。
char和nchar是定长的,不够的部分会自动补齐,分配指定字节长度的空间
百度网友4899ad9
2015-03-20
知道答主
回答量:4
采纳率:0%
帮助的人:2.5万
展开全部
nvarchar(N) 里面的N 取值范围是1-4000 也就是最大值是 4000 你这么写不行
追问
但是也有nvarchar(max)的定义呀,没出错。我指的是分配存储空间的时候,是不是就很大,影响系统吗
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecc263c
2015-03-26 · TA获得超过624个赞
知道小有建树答主
回答量:478
采纳率:100%
帮助的人:379万
展开全部
nvarchar

用来定义可变长度的二进制数据,最大长度为4000个字符。nvarchar数据类型的定义形式为:

nvarchar[(n)]

其中,n表示所有字符占有的存储空间,以字节为单位。n必须是一个介于1~4000之间的数据。若输入的数据过长,SQL将会截掉其超出部分。
nvarchar与nchar的区别和varchar与char的区别类似。

例如,如果定义表列为nvarchar(20),那么存储在该列的数据最多可以长达20个字节。但是,在每列数据没有达到20个字节时,并不会在多余的字节上填充空格。

说明:当存储在列中数据的值的大小经常变化时,使用nvarchar数据类型可以有效地节省空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式