如果它们的唯一区别是nvarchar(50)vs.nvarchar(max),并且每个字段的字符串范围从1到50个字符,那么下面两个表之间的一般存储和
性能差异是甚么?这是在
sql Server 2005中.
表格1
firstname nvarchar (50)
lastname nvarchar (50)
username nvarchar (50)
表2
firstname nvarchar (max)
lastname nvarchar (max)
username nvarchar (max)
如果您的字符串的长度保持在1到50个字符之间,那么在使用varchar(X)和varchar(MAX)的情况下,跨越长度为X的字符串运行的相同
查询将运行得更快.另外,您不能在varchar(MAX)字段上创建索引.
一旦你的行的长度超过8000个字符的值,那么还有一些额外的性能考虑因素(行基本上被视为TEXT而不是varchar(n)).虽然这并不是非常相关的比较,因为没有varchar(N)选项长度超过8000的字符串.