限制SQLServer中的NVARCHAR大小?

kjv*_*kjv 11 sql-server nvarchar

我想知道在SQL Server 2008中将NVARCHAR字段设置为MAX而不是特定大小会产生什么影响,并限制应用程序逻辑的输入.那么,这些是一个糟糕的设计实践吗?

Rob*_*Day 7

NVARCHAR(MAX)在使用比旧的NTEXT数据类型更小的数据执行方面要好得多,但是,NVARCHAR(n)在某些方面总是更有效.

作为一般规则,使用最能代表您存储的数据的数据类型几乎总是最佳实践.


Cad*_*oux 5

有很多性能影响.特别是,在通用字符串填充标量UDF中,我注意到输出被声明为VARCHAR(MAX)的巨大性能差异,即使输入从未超过40个字符.改为VARCHAR(50)取得了巨大的进步.