回答

收藏

内联接vs内联接(SELECT。FROM)

技术问答 技术问答 484 人阅读 | 0 人回复 | 2023-09-14

这两个版本的性能是否存在差异?
% b; }) V2 w1 d2 @0 }# B--Version 1SELECT p.Name,s.OrderQtyFROM Product pINNER JOIN SalesOrderDetail s on p.ProductID = s.ProductID--Version 2SELECT p.Name,s.OrderQtyFROM Product pINNER JOIN (SELECT ProductID,OrderQty FROM SalesOrderDetail) s on p.ProductID = s.ProductID我听说它(DBA)说版本2更快,因为它在内部SELECT查询所需的列只在句子中获得。但这似乎毫无意义,因为查询性能(据我所知)是基于受影响的行数和返回的最终列表。' Z7 r: U: z" ^6 R& }
两者的查询计划是一样的,所以我猜两者之间没有区别。/ [4 @) \. [# b; [& ]5 T
我对么?
8 O5 S8 A7 b0 n( U( w/ U( S                                                               
2 A) Q# g9 r" K& d: K$ \    解决方案:                                                               
, y# Y' \+ t, f$ w                                                                你是对的。您完全正确地检查了查询计划,而不是试图猜测优化器。-)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则