Alexander Foken: Zwei Reihen mit UND verknüpfen

Beitrag lesen

Moin Moin !

Jetzt bleibt die Frage, wie weit kann ich das mit dem self-join treiben?

solange, bis Dir nette Menschen ein hübsches weißes Jäckchen verpassen und Dich in einen angenehm gepolsterten Raum verfrachten, während Du mit rollenden Augen "Self-Join! Self-Join! Muhuhuahaha!!!" schreist.

Das sind doch die Standard-Symtome nach einem Grundkurs MSSQL-Server, oder?

Ich meine, ich könnte jetzt die Tabelle ~50 mal mit sich selbst verknüpfen ... das ist aber a) eklig und b) macht wahrscheinlich der Datenbankserver 'nen Abgang.

Wenn das DBMS dabei in die Knie geht, hast Du das falsche eingesetzt. Vorausgesetzt natürlich, Dein DB-Layout ist vernünftig :-)

Naja, im Zweifel legt man halt noch einen Index über die betroffenen Spalten nach.

EXPLAIN soll gerüchteweise auch helfen. ;-)

Soweit ich weiß soll man ja JOINs wenn möglich vermeiden ...

Diese Behauptung widerspricht eklatant dem Modell einer relationalen Datenbank.

und dann gleicht 50 Stück auf einmal, in einer Query?!

Ein solches Statement ist zumindest nicht mehr vernünftig wartbar, das ist klar. Bei einer derartigen Masse an Bedingungen möchtest Du vermutlich entweder Dein DB-Layout noch mal überdenken, oder Teile des Selects in umgebende Programmlogik auslagern, oder beides.

Sehe ich auch so. So viele Bedingungen zeigen normalerweise an, daß da irgendwelche Abhängigkeiten drin sind, die durch Normalisieren der Datenbank (Stichwort "3. Normalform") rauszufummeln sind.

Zu viele Daten in eine Tabelle gequetscht?

Alexander

--
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".