在sql server中声明变量之间的区别

时间:2015-06-11 11:33:05

标签: sql sql-server

通过声明下面的变量,性能方面是否存在差异。

第一种方法..

DECLARE  @SQLStringCreateView NVARCHAR(MAX)
            ,@SQLStringDropView NVARCHAR(MAX)
            ,@SQLStringCreateSchema NVARCHAR(MAX)
            ,@TableName NVARCHAR(MAX)
            ,@TableCatelog NVARCHAR(MAX)

第二种方法..

   DECLARE  @SQLStringCreateView NVARCHAR(MAX)
    DECLARE @SQLStringDropView NVARCHAR(MAX)
    DECLARE @SQLStringCreateSchema NVARCHAR(MAX)
    DECLARE @TableName NVARCHAR(MAX)
    DECLARE @TableCatelog NVARCHAR(MAX)

或者它的好习惯.. ???

2 个答案:

答案 0 :(得分:4)

不,没有区别。他们做的完全相同,性能也一样。根据您自己的个人偏好,您使用的是两种,没有合理的技术理由不选择其中任何一种。

可读性和易维护性是我能想到跳过第一个选项的唯一原因。

(如果有任何区别,解析SQL时性能差异很小,但你可以忽略它。)

答案 1 :(得分:0)

嗯,这取决于你。你的陈述之间没有真正的区别。只是个人参考。

我个人推荐在变量前面使用逗号的方法。这样可以更容易地推荐一行。

但只是一点点暗示。不要为每个变量使用nvarchar(max)。这可能会浪费太多。 ;-)只需使用你真正需要的限制。