回答

收藏

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

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

这两个版本的性能是否存在差异?% n# F1 y! M* _: G# i
--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查询所需的列只在句子中获得。但这似乎毫无意义,因为查询性能(据我所知)是基于受影响的行数和返回的最终列表。! O& U# K& J- Z% a& T
两者的查询计划是一样的,所以我猜两者之间没有区别。7 R+ s) {' ^+ h
我对么?
, A$ ^; \3 f( y- l- f. u+ i                                                               
' W2 Z6 S1 l) N# j' k    解决方案:                                                                0 \6 e0 |# J) X+ A- h/ y
                                                                你是对的。您完全正确地检查了查询计划,而不是试图猜测优化器。-)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则