Есть ли разница в производительности между этими двумя версиями одного и того же запроса?
--Version 1
SELECT p.Name, s.OrderQty
FROM Product p
INNER JOIN SalesOrderDetail s on p.ProductID = s.ProductID
--Version 2
SELECT p.Name, s.OrderQty
FROM Product p
INNER JOIN (SELECT ProductID, OrderQty FROM SalesOrderDetail) s on p.ProductID = s.ProductID
Я слышал, что он сказал (от администратора базы данных), что версия 2 работает быстрее, потому что она извлекает внутри внутреннего оператора SELECT только те столбцы, которые необходимы для запроса. Но это не имеет смысла, поскольку производительность запросов (как я знаю) основана на количестве затронутых строк и окончательном списке возвращенных столбцов.
Планы запросов для обоих идентичны, поэтому я предполагаю, что между ними нет никакой разницы.
Правильно ли я?