我正在使用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次运行后,两者都返回显示相同的查询计划。
由于
答案 0 :(得分:0)
关于“表现和最佳实践”。这取决于很多事情。一次运作良好可能不是最好的。您必须测试,测量性能然后选择。
您说SQL Server生成的计划是相同的,因此在这种情况下应该没有任何区别。选择最容易维护的查询并继续处理下一个问题。