在连接表上使用MAX的SQL性能

时间:2014-03-13 12:52:29

标签: sql-server

我正在使用SQL Server 2008R2

我希望您对以下两个SQL语句的性能和最佳实践有所了解。

select 
* 
from BcpSample1 
where dataloadid = (select MAX(id) from LoadControl_BcpSample1 where Status = 'completed') 

 select 
 a.* 
 from CiaBcpSample1 a
 inner join (select ActiveDataLoadId = MAX(id) from LoadControl_BcpSample1 where Status = 'completed') as t
 on a.DataLoadId = t.ActiveDataLoadId

我在SQL Server Studio中尝试了查询计划,但在2次运行后,两者都返回显示相同的查询计划。

由于

1 个答案:

答案 0 :(得分:0)

关于“表现和最佳实践”。这取决于很多事情。一次运作良好可能不是最好的。您必须测试,测量性能然后选择。

您说SQL Server生成的计划是相同的,因此在这种情况下应该没有任何区别。选择最容易维护的查询并继续处理下一个问题。