回答

收藏

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

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

这两个版本的性能是否存在差异?4 b1 w* s, y7 v& ]7 S$ A; B$ A3 E
--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查询所需的列只在句子中获得。但这似乎毫无意义,因为查询性能(据我所知)是基于受影响的行数和返回的最终列表。1 d. n' c+ ]3 j+ R
两者的查询计划是一样的,所以我猜两者之间没有区别。- @! V! b2 ?, M6 Z
我对么?, r) a* D. l' {* o  q, T) L
                                                               
. a! g, ]( L0 H! w' d9 m! p8 C    解决方案:                                                                $ M+ B; t+ k0 y0 H4 D: Y
                                                                你是对的。您完全正确地检查了查询计划,而不是试图猜测优化器。-)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则