回答

收藏

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

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

这两个版本的性能是否存在差异?
7 v2 l! \) Q  D7 D0 p$ I' o% Z--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查询所需的列只在句子中获得。但这似乎毫无意义,因为查询性能(据我所知)是基于受影响的行数和返回的最终列表。
2 D/ b7 q. {6 U7 c( A: |两者的查询计划是一样的,所以我猜两者之间没有区别。9 Q. {7 o7 A4 C& o/ e% ~
我对么?  i+ Z2 M: e" b7 b0 ]# t. ^* r
                                                               
9 x9 _9 x' I; V! G+ ~    解决方案:                                                               
, \2 F: |5 B; C( D                                                                你是对的。您完全正确地检查了查询计划,而不是试图猜测优化器。-)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则