SQL Server(2008R2)可以优化Sybase Join语法

时间:2014-11-17 15:21:19

标签: sql sql-server

如MSDN中所述,

http://msdn.microsoft.com/en-us/library/dd172122(v=vs.100).aspx

Sybase连接语法被视为已弃用

即。

SELECT [T2].[c3], [T1].[c3] 
FROM [dbo].[T2] T2, [dbo].[T1] T1 
WHERE [T2].[ID] = [T1].[ID]

然而,关于SQL引擎是否能够优化这一点的信息是粗略的。

我会想象上面的例子可以,但是在涉及超过10个表的例子中呢。

SQL查询引擎优化这些查询与使用内部和外部联接的效果如何?

1 个答案:

答案 0 :(得分:0)

是的,SQL Server可以优化它。我在我的SQL Server 2012实例上运行了它,它为我提供了两个查询的相同执行计划:

SELECT [T2].[c3], [T1].[c3] 
FROM [dbo].[T2] T2, [dbo].[T1] T1 
WHERE [T2].[ID] = [T1].[ID]

SELECT [T2].[c3], [T1].[c3] 
FROM [dbo].[T2] T2
INNER JOIN [dbo].[T1] T1 ON [T2].[ID] = [T1].[ID]

SQL Server 2012本质上与2008年具有相同的查询优化器.SQL Server 2014有一个新的,但我怀疑它在这种情况下不会有所作为。