bru*_*uno 1 t-sql alias sql-server-2008
表别名是否比仅仅使用表名更快?
或者这没有任何区别?
你们有一些使用表别名的好技巧吗?或推荐/不推荐?
谢谢,
布鲁诺
不,他们不是.
查询引擎甚至看不到它们(它们只出现在计划的注释中).
执行查询时,引擎根据查询计划处理实际的物理对象(表,索引等).
当查询说出类似这样的内容时:
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并遍历页面的链接列表,返回找到的所有记录,直到没有更多记录".
在这个阶段,你如何为查询设置别名并不重要:引擎处理物理对象,如页面,指针等,而不是像别名这样的逻辑事物.