sql-server 里 nvarchar(50) 和 nvarchar(255) 占用的空间一样吗

目前这个字段大约20个字符左右,应该用nvarchar(50),但为了将来的扩充,觉得用nvarchar(255)比较好。 是不是两者实际占用的存储空间是一样的。

还有,如果这个字段用来做主键,nvarchar(255) 会不会增加索引占用的空间


撒科打诨
浏览 1486回答 2
2回答

慕尼黑8549860

nvarchar(50) 和 nvarchar(255) 都存储相同的字符数,性能上是没有差别的,存储行为上也没有不同。因为它们都有相同的存储结构,字节的偏移,字节的列数(如果表中所有的列都是 nvarchar 类型)。区别只在于存储容量上。如果你有时间的话你可以创建一个存储过程自己玩一下,其实也要不了多久,呵呵。

慕尼黑5688855

索引中所有列的长度之和不能超过 900 个字节。更改为指定的数据类型将超过最大的索引大小 <3d> 个字节。
打开App,查看更多内容
随时随地看视频慕课网APP