Y at-il une différence de performances entre ces deux requêtes? Apparemment, où devrait être réservé pour interroger les valeurs sur la table pour être conforme à la norme SQL 92, y at-il une raison de performance?Optimisation SQL
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
et
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
Dans le même sens, est-il une différence de performance entre ces deux questions?
SELECT
Foo.FooId
FROM
Foo
WHERE
Foo.FooId IN
(
SELECT
Bar.FooId
FROM
Bar
WHERE
Bar.SomeField = 'SomeValue'
)
Et
SELECT
Foo.FooId
FROM
Foo
JOIN
Bar
ON
Bar.FooId = Bar.BarId
WHERE
Bar.SomeField = 'SomeValue'