回答

收藏

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

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

这两个版本的性能是否存在差异?* s/ @" [3 A7 J/ q1 g( x
--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查询所需的列只在句子中获得。但这似乎毫无意义,因为查询性能(据我所知)是基于受影响的行数和返回的最终列表。
% T1 Z3 \/ \) J1 ~0 Y1 c7 g两者的查询计划是一样的,所以我猜两者之间没有区别。
) Y0 ]) |% K6 @7 S8 M! H6 c我对么?. H+ s9 ]$ @: `
                                                                0 P& u8 o5 O$ u3 T
    解决方案:                                                                & ~; q" N  a' E. O) E7 N
                                                                你是对的。您完全正确地检查了查询计划,而不是试图猜测优化器。-)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则