【发布时间】:2013-07-28 03:14:21
【问题描述】:
在 SQL Server 中使用完全限定的表名对性能有任何影响吗?
我有一个查询,我要连接不同数据库中的两个表。 DBA 建议在主机查询中省略数据库名称,我猜这是为了提高性能或约定。
所有表完全合格
USE [DBFoo]
SELECT * FROM [DBFoo].[dbo].[people] a
INNER JOIN [DBBar].[dbo].[passwords] b on b.[EntityID] = a.[EntityID]
首选?
USE [DBFoo]
SELECT * FROM [dbo].[people] a
INNER JOIN [DBBar].[dbo].[passwords] b on b.[EntityID] = a.[EntityID]
这真的有影响吗?
【问题讨论】:
-
没有。使用“foo.dbo.people”与使用“people”相比,没有运行时性能提升。或相反亦然。书籍推荐:《Inside SQL Server》,Kalen Delaney 等人。
标签: sql sql-server tsql