t-sql – Tabelle Aliase in Fusion in Aussagen – Welche von diesen beiden ist besser und warum?

Der einzige Unterschied zwischen den beiden folgenden MERGE-statementen ist, dass ich die Tabellen-Aliase auslasse, wenn ich die Werte in die erste einfügte und ich sie in die zweite einfügte.

Ich stelle fest, dass, da die MERGE INTO- und USING-statementen die Quell- und Zieltabellen definieren, die Vorgabe wäre, in das Ziel einzutragen, die Werte aus der Quelle zu verwenden, und daher gäbe es keinen Grund, die Aliase zu verwenden.

Was ist besser und warum? Jeder performancesunterschied? … Ich glaube, ich muss lernen, wie die Abfrage-Optimierer funktioniert)

Ohne explizite Verwendung von Tabellen-Aliasen in VALUES:

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] ); 

Mit expliziter Verwendung von Tabellen-Aliasen in VALUES:

 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] ); 

Aliase machen keinen Unterschied zur performance

Sie streiten einen Unterschied zu Lesbarkeit und Wartbarkeit

Aliase werden hauptsächlich zur Erhöhung der Lesbarkeit oder zur Benennung einer berechneten Spalte verwendet. Es hat keinen Einfluss auf die performance der Abfrage