MySQL Forums
Forum List  »  German

Join Bedingung
Posted by: Stephan Schulze
Date: March 19, 2009 12:01PM

Hallo,

eine allgemeine Frage.

In http://dev.mysql.com/doc/refman/5.1/en/join.html steht bei der conditional_expr für einen Join, dass allgemein die Join-Bedingung nur für den Join der Tabellen genutzt werden soll.

Ich würde daraus schließen, dass ein Join der folgenden Form:

SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id AND t2.active = 1)

nicht empfohlen wäre.
Dieser sollte dann wohl besser als:
SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id)
WHERE t2.active = 1

geschrieben werden.

Frage ist nun: Warum ist die zweite Variante empfohlen?
Bessere Performance? Wenn ja warum?

Naiv würde ich sagen, dass die erste Variante, insbesondere bei weiteren Joins, performanter wäre, da ja weniger Zeilen gejoint werden müssen.

Vielen Dank für eine Aufklärung!

Options: ReplyQuote


Subject
Views
Written By
Posted
Join Bedingung
9401
March 19, 2009 12:01PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.