was ist schneller ? Join oder normal

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • was ist schneller ? Join oder normal

    1.SELECT artikel_name,artikel_typ,artikel_bestand,hersteller_name FROM [COLOR=crimson]artikel JOIN hersteller[/COLOR] WHERE artikel.hersteller_id = hersteller.hersteller_id


    2. SELECT artikel_name,artikel_typ,artikel_bestand,hersteller_name FROM [COLOR=crimson]artikel ,hersteller[/COLOR] WHERE artikel.hersteller_id = hersteller.hersteller_id

    nix dolles, aber generell mal die Frage, was schneller ist ?
    <Life>Traumprojekt-Die Design-Community</life>

  • #2
    Hi,

    m.E bekommst Du bei der Abfrage ohne JOIN 'hersteller hits' x 'artikel hits' rows als Ergebnis.

    Wenn dann SELECT DISTINCTROW ....

    Vor einen Jahr hatte ich mit Titus eine Diskussion gehabt.
    Er meinte, dass bei 1:1 Beziehungen DISTINCTROW schneller ist, bei 1:n JOIN. Ich habe auch andere Beobachtungen gemacht...

    cu

    Blaster
    Yuppi, endlich Elite ...

    Kommentar


    • #3
      Im Allgemeinen ist ein inner Join schneller, da die zweite Tabelle nur einmal durchforstet wird; aber nur wenn du die Verknüpfung richtig angibst:

      1.SELECT artikel_name,artikel_typ,artikel_bestand,hersteller_name FROM artikel
      JOIN hersteller [color="red"]ON[/color] artikel.hersteller_id = hersteller.hersteller_id

      In der Realität sollte es allerdings wenig Unterschied machen; je nachdem wie gut die Query-Optimierung des DBMS ist.

      Aber es gibt auch noch einen anderen Unterschied: beim inner join gibt´s auch ein Ergebnis, wenn in der zweiten Tabelle kein passender Datensatz existiert!
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar

      Lädt...
      X