表别名是否比表名更快?

bru*_*uno 1 t-sql alias sql-server-2008

表别名是否比仅仅使用表名更快?
或者这没有任何区别?
你们有一些使用表别名的好技巧吗?或推荐/不推荐?

谢谢,
布鲁诺

Qua*_*noi 5

不,他们不是.

查询引擎甚至看不到它们(它们只出现在计划的注释中).

执行查询时,引擎根据查询计划处理实际的物理对象(表,索引等).

当查询说出类似这样的内容时:

SELECT  *
FROM    mytable t
Run Code Online (Sandbox Code Playgroud)

,优化器创建一个类似于此的计划:

|--Clustered Index Scan(OBJECT:([mydb].[dbo].[mytable].[pk_mytable] AS [t]))
Run Code Online (Sandbox Code Playgroud)

并且查询引擎解释就像"找到索引的第一页pk_mytable并遍历页面的链接列表,返回找到的所有记录,直到没有更多记录".

在这个阶段,你如何为查询设置别名并不重要:引擎处理物理对象,如页面,指针等,而不是像别名这样的逻辑事物.