Есть ли разница в производительности между этими двумя запросами. Очевидно, ГДЕ следует зарезервировать для запроса значений в таблице, чтобы они были совместимы с SQL 92, есть ли причина производительности?
SELECT
Foo.FooId
(
SELECT
Bar.BarId
FROM
Bar
WHERE
Bar.FooId = Foo.FooId
FOR XML PATH('Bar'), TYPE
) As 'Bar'
FROM
Foo
FOR XML PATH('Foo'), TYPE
и
SELECT
Foo.FooId
(
SELECT
Bar.BarId
FROM
Bar
JOIN
Foo
ON
Foo.FooId = Bar.FooId
FOR XML PATH('Bar'), TYPE
) As 'Bar'
FROM
Foo
FOR XML PATH('Foo'), TYPE
Аналогично, есть ли разница в производительности между этими двумя запросами?
SELECT
Foo.FooId
FROM
Foo
WHERE
Foo.FooId IN
(
SELECT
Bar.FooId
FROM
Bar
WHERE
Bar.SomeField = 'SomeValue'
)
И
SELECT
Foo.FooId
FROM
Foo
JOIN
Bar
ON
Bar.FooId = Bar.BarId
WHERE
Bar.SomeField = 'SomeValue'