nvarchar(4000)和nvarchar(max)有什么区别?

时间:2017-09-14 15:59:59

标签: sql sql-server sql-server-2012

我正在处理一些将导入长字符串的SQL Server 2012表。根据我的研究,我应该使用nvarchar()。但是,如果您使用nvarchar(max),可能会有很多关于可能存在严重性能问题的讨论,例如:在Are there any disadvantages to always using nvarchar(MAX)?。我还看到nvarchar(max)类型的实际最大字符数为4000.

这听起来像是明确设置长度,即使该长度等于或接近最大值(可能是3999?)也可能避免最严重的问题。但那对我来说没有意义;不应该明确设置一个值,结果与隐式设置相同的值相同吗?

那是哪种情况? nvarchar(4000)是否与nvarchar(max)实际上相同,或两者之间是否存在真正的差异?

编辑:评论中引用的问题回答了指定长度与设置为最大值的一般问题。但是如果设置为4000会发生什么? max最多允许超过4000个字符吗?如果没有,为什么不总是设置为4000而不是最大?

0 个答案:

没有答案