SQL Server查询优化 - WHERE子句与SELECT子查询

Chr*_*ris 1 sql-server query-optimization

创建连接2个表的查询时.我想到了两种可能的方法来编写查询.下面是一个简化的例子.你能告诉我哪个会更快吗?

SELECT t1.a,
       t2.a
FROM   table1 t1
       JOIN table2 t2
         ON t1.b = t2.b
WHERE  t2.c = 'test' 
Run Code Online (Sandbox Code Playgroud)

要么

SELECT t1.a,
       t2.a
FROM   table1 t1
       JOIN (SELECT a, b
             FROM   table2
             WHERE  c = 'test') t2
         ON t1.b = t2.b 
Run Code Online (Sandbox Code Playgroud)

Mar*_*ith 5

他们应该给出完全相同的计划.

SQL Server可以轻松地将一个转换为另一个.检查执行计划是唯一可以确定的方法.