Performencefrage (Join)

Sebigf

Erfahrenes Mitglied
Hallo zusammen!

Ich habe vor ein Artikel-Modul zu kreieren, bei dem man Artikel bewerten kann.
Mir kam die Idee die einzelnen Bewertungen in eine separate Tabelle abzulegen, damit es unter Umständen vielleicht übersichtlicher bzw. schneller editiert werden kann.

Wie sieht das aus bei einem JOIN? Kann ich getrost zwei JOINs mit der Haupttabelle verknüpfen oder ist es zu lastig?

Danke
 
Hy,

ich weiß nicht, ob Join für dein Problem die richtige herangehensweise ist. Mit Join kannst du zwei Tabellen auf verschiende Weisen kombinieren und auf Basis dieser bestimmte Statements abfragen bzw. Einschränkungen evaluieren.

Bsp:
Code:
Tab a | field1 | field2
           a         b
           b         a

Tab b | field 3 | field4
           c         d

per CrossJoin (jeder Datensatz aus a mit jedem Datensatz aus b) ergibt:

CJ  | field1 | field2 | field3 | field4
        a         b        c        d
        b         a        c        d

Ob das deinen Anforderungen entspricht, musst du dir selbst Gedanken drüber machen, ich habe es nicht so verstanden, als ob dich das zum Ziel bringt. Da wäre ein Schlüsselattribut (z.B. id [int, auto_increment) angebrachter, welcher dann einen Querverweis (Referenz) darstellt.

Ansonsten kann ich nur sagen, dass du, falls du es machen willst, getrost mehrere Joins in ein Query einbauen kannst. Es muss nur syntaktisch korrekt sein. Als Beispiel kann ich dir folgendes geben:

Code:
SELECT name
     FROM MovieExec
     WHERE cert# IN
                 (SELECT producerC#
                 FROM Movie
                 WHERE (title,year) IN
                            (SELECT movieTitle, movieYear
                            FROM StarsIn
                            WHERE starName = 'Harrison Ford'
                            )
                  );


Ist zwar kein direktes Beispiel für Join, aber dafür, wie man auf dynamisch erstellen Zwischentabellen arbeiten kann. Hoffe mein Beitrag hilft dir weiter

Gruß casb
 
Danke für deine Antwort ;)

Ja, soweit wird alles mit einem primary_key zusammen gesucht usw. Es ging mir nur eben darum zu wissen, ob ich getrost mehrere JOINS in eine Query bauen kann, ohne dass der SQL Server direkt in flammen aufgeht ;) Ich weis, dass SQL sehr flexibel ist und viele k Querys abarbeiten kann ohne Probleme. Nur halte ich diese JOIN Sache immer etwas "tricky", weil eben mehrere Faktoren beachtet werden (müssen).

Nur wo genau liegt der Unterschied bei JOIN, LEFT JOIN, INNER.... ?
 

Neue Beiträge

Zurück