如果保证字符串长度在1到50个字符之间,则使用varchar(X)与varchar(MAX)可以在最大长度为X的字符串上运行相同的查询。此外,您不能在varchar(MAX)字段上创建索引。
一旦您的行的长度值超过8000个字符,就需要解决其他性能问题(这些行基本上被视为TEXT而不是varchar(n))。尽管作为比较,这并不十分相关,因为对于长度超过8000的字符串,没有varchar(N)选项。

如果保证字符串长度在1到50个字符之间,则使用varchar(X)与varchar(MAX)可以在最大长度为X的字符串上运行相同的查询。此外,您不能在varchar(MAX)字段上创建索引。
一旦您的行的长度值超过8000个字符,就需要解决其他性能问题(这些行基本上被视为TEXT而不是varchar(n))。尽管作为比较,这并不十分相关,因为对于长度超过8000的字符串,没有varchar(N)选项。