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!