1
select * from AdventureWorks.Sales.Customer c
inner loop join AdventureWorks.Sales.SalesOrderHeader o on o.CustomerID = c.CustomerID

select * from AdventureWorks.Sales.SalesOrderHeader o
inner loop join AdventureWorks.Sales.Customer c on c.CustomerID = o.CustomerID

在 MS Sql Server 中:以上两条语句可以制定不同的执行计划。如果我们假设表 Customer 和表 SalesOrderHeader 具有非常不同的记录数量级。哪个性能更好?为什么?

4

1 回答 1

1

使用连接提示强制连接顺序。查看消息选项卡:有一条消息说。

这是使用连接提示的一个非常不幸的副作用。这使它们使用起来非常尴尬。

哪个性能更好?

查看查询执行时间和计划成本估算来回答这个问题。

于 2013-02-14T16:03:21.863 回答