Non, ils ne sont pas.
Le moteur de requête ne les voit même pas (ils n'apparaissent que dans les commentaires du plan).
Lors de l'exécution de la requête, le moteur traite les objets physiques réels (tables, index, etc.), en fonction du plan de requête.
Lorsque la requête dit quelque chose comme ceci:
SELECT *
FROM mytable t
, l'optimiseur crée un plan semblable à ceci:
|--Clustered Index Scan(OBJECT:([mydb].[dbo].[mytable].[pk_mytable] AS [t]))
et le moteur de recherche interprète est comme « trouver la première page du indexez pk_mytable
et parcourez la liste chaînée des pages, en retournant tous les enregistrements trouvés, jusqu'à ce qu'il n'y ait plus d'enregistrements ". Sur cette étape, peu importe comment vous avez exactement alias la requête: le moteur traite les objets physiques comme les pages, les pointeurs, etc., pas les choses logiques comme les alias.
Ils sont plus rapides à taper :) Je les utilise tout le temps pour cette raison et pour réduire le gonflement du code. – AdaTheDev