t-sql --- Table aliases in merge into statements --- 这两个哪个更好,为什么?

t-sql --- Table aliases in merge into statements --- Which of these two is better and why?

以下两个 MERGE 语句之间的唯一区别是,在第一个语句中插入值时我省略了 Table 别名,而在第二个语句中包含了它。

我认为由于 MERGE INTO 和 USING 语句定义了源表和目标表,默认情况下将使用源中的值插入到目标中,因此没有理由使用别名。

哪个更好,为什么?任何性能差异?...我想我需要了解查询优化器的工作原理)

没有在 VALUES 中明确使用 Table 别名:

MERGE INTO TargetSchema.TargetTable AS T
USING SourceSchema.SourceSchema As S 
ON S.Id = T.Id
WHEN NOT MATCHED THEN
   INSERT(
       [Id]
      ,[Status]
      ,[Another Column]   
      )

   VALUES(
       [Id]
      ,[Status]
      ,[Another Column]
      );

在 VALUES 中显式使用 Table 别名:

MERGE INTO TargetSchema.TargetTable AS T
USING SourceSchema.SourceSchema As S 
ON S.Id = T.Id
WHEN NOT MATCHED THEN
   INSERT(
       [Id]
      ,[Status]
      ,[Another Column]   
      )

   VALUES(
       [S].[Id]
      ,[S].[Status]
      ,[S].[Another Column]
      );

别名对性能没有影响

虽然可以说它们对可读性和可维护性有影响

别名主要用于增加可读性或命名计算列。它对查询的性能没有任何影响