Erik: Nachtrag

Beitrag lesen

N'abend,

So wie ich Erik verstanden habe macht das sehr wohl was. Er will jeweils eine Zeile aus zwei Tabellen haben und hat gefragt ob er nun (vereinfacht)
SELECT * FROM a; SELECT * FROM b;
oder
SELECT * FROM a,b;
machen soll. Letzteres ist aber (gelinde gesagt) suboptimal was die Performance angeht. Das DBMS würde dann nämlich ein Kreuzprodukt der beiden Tabellen bilden und dann darin suchen. Wenn jede der Tabellen 10 Zeilen hat (lächerlich wenig) würde die erste Variante zum Durchsuchen von 20 Zeilen führen, die zweite Variante zum Durchsuchen von 100 Zeilen. Da ist doch ein kleiner Unterschied, gell?

Also konkret sähe mein Anfrage folgendermaßen aus:
SELECT a.a, a.b, b.*, c.* FROM a, b, c WHERE a.a='x' AND a.b=b.b AND a.b=c.b

Das gibt dann eine Zeile zurück. Das sollte doch auch kein größerer Aufwand sein, als das ganze mit drei SELECT zu machen, oder? Aber bringt es nun einen Vorteil oder nicht?

Viele Grüße
Erik