在存储过程(Sql 2005)参数我应该使用@Name nvarchar(255)或@Name nvarchar(Max)

时间:2009-07-30 08:21:08

标签: sql-server stored-procedures

该过程将从名称宽度设置为255的表中返回。

使用@Name nvarchar(255)比@Name nvarchar(Max)

更有优势吗?

2 个答案:

答案 0 :(得分:2)

当应用程序需要处理更长的字符串时,

nvarchar(max)非常方便。但是你也应该非常小心,因为nvarchar(max)经常会在计算过程中尝试推断出一个大小。如果您的数据肯定限制在255,那么最好使用它。如果需要,SQL仍会将其存储在页面外部,但是会稍微减少一些推断。

罗布

答案 1 :(得分:1)

在这种情况下,使用@Name nvarchar(max)获得的增益是,如果你增加了表宽的大小,你的sproc就不会截断任何东西。除此之外没有任何优势