从IDS表中获取记录的最有效查询

时间:2011-08-19 04:03:57

标签: sql-server sql-server-2008

我有一张表,目的是持有id's. 我想从其他表(数百万条记录的大表)中选择许多记录。

哪一个会胜过:

SELECT id, att1, att2 
FROM myTable 
WHERE id IN (SELECT id FROM @myTabwithIDS)

SELECT id, att1, att2 
FROM myTable t
INNER JOIN @myTabwithIDS t2
    ON t2.id = t.id

1 个答案:

答案 0 :(得分:1)

我会使用SQL Server内置的查询分析器来探索执行计划。

http://www.sql-server-performance.com/2006/query-analyzer/

专门启用“显示执行计划”和“统计IO和时间”。

通常,连接比子查询更好,特别是在外部查询条件取决于子查询的结果(称为相关子查询)的情况下。有关详细信息,请参阅Subqueries vs joins