Markus: Joins

Hallo,

ich schaue mir gerade MySQL an und lese gerade etwas über Abfragen über mehrere Tabellen. Gibt es einen Performance-Unterschied, wenn ich

SELECT [spalte] FROM LEFT JOIN [tabelle1], [tabelle2] ...

anstatt

SELECT [spalte] FROM [tabelle1], [tabelle2]

geschrieben wird?

MfG Markus

  1. nabend,

    SELECT [spalte] FROM LEFT JOIN [tabelle1], [tabelle2] ...

    das müsste wenn

    select s1 from t1 left join t2 on t1.s1 = t2.s1 heissen...aber es gibt keinen grossen Performance-Schub meines Wissens nach. Die "alte" Variante (vor den Join-Befehlen) war die Verknüpfung über die where-Klauseln

    z.b.

    select s1
      from t1, t2
     where t1.s1 = t2.s1

    In einigen Fällen sind die left-, right-, cross- und full-joins einfacher als ein gleiches Ergebnis über Union-Tricksereien hinzubekommen.

    Wenn du dich jetzt erst einarbeitest eigne dir ggf. direkt die Join-Verknüpfungen an. Der Performanceunterschied dürfte aber nur in ms-Bereich liegen, kommt aber immer drauf an...

    Gruss
    Seppel

  2. Hallo Markus,

    ich schaue mir gerade MySQL an und lese gerade etwas über Abfragen über mehrere Tabellen.

    dann empfehle ich Dir die Artikel in SELFHTML aktuell zu Joins:

    Einführung in Joins
    Fortgeschrittene Jointechniken

    Wenn Du da etwas nicht verstehst, frag' hier bitte wieder nach.
    Performance ist - das gebe ich zu - in beiden Artikeln drittrangig. Versuche zunächst die Idee hinter den Joins zu verstehen, dann kann man anfangen zu optimieren :-)

    Freundliche Grüße

    Vinzenz