MS SQLServer 的 VARCHAR/NVARCHAR 类型既然是变长的,为什么不直接用最大值呢?

2019-10-21 10:35:46 +08:00
 hitoriga

比如备注这样的字段,因为数据表中给它的长度不够,导致经常报这样的错误: System.InvalidOperationException: String 或 binary 数据将被截断。

上次加到 500 这次报错改成 nvarchar(1000),下次再报错的话是不是该改成 2000 了。

既然 varchar/nvarchar 可变长,不会因为没用满导致空间浪费,何不把这样的字段都设成 nvarchar(4000)或者 varchar(8000)呢? 不过我司好像没人这么整,是因为这样做有啥问题吗

7932 次点击
所在节点    Coding
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/611278

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX