Was ist schneller?

20/06/2008 - 11:32 von Thomas Bandt | Report spam
Mahlzeit,

kurze Frage:

DECLARE @param int
SET @parem = 1

a)

SELECT Field FROM Table t INNER JOIN TableX x
ON t.ID = x.ID AND t.FKID = @param

b)

SELECT Field FROM Table t INNER JOIN TableX x
ON t.ID = x.ID WHERE t.FKID = @param

Was ist schneller, a) oder B), und warum? Oder
wird sich beides nichts nehmen?

Gruß, Thomas
 

Lesen sie die antworten

#1 Frank Kalis
20/06/2008 - 11:55 | Warnen spam
"Thomas Bandt" wrote:

kurze Frage:

DECLARE @param int
SET @parem = 1

a)

SELECT Field FROM Table t INNER JOIN TableX x
ON t.ID = x.ID AND t.FKID = @param

b)

SELECT Field FROM Table t INNER JOIN TableX x
ON t.ID = x.ID WHERE t.FKID = @param

Was ist schneller, a) oder B), und warum? Oder
wird sich beides nichts nehmen?




Kurze Gegenfrage: Warum probierst Du es nicht schnell selber aus und schaust
Dir an. wie die Ausführungsplàne aussehen? ;-)

Da @param ein Filter ist sollte es meiner Meinung nach in der WHERE Klausel
auftauchen und nicht im JOIN.
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org

Ähnliche fragen