Ich fragte diese Frage um eine einzelne Verknüpfung oder mehrere (select n + 1) Abfragen
Ich wollte herausfinden, ob dies auch der Fall ist, wenn man zu viele Beziehungen und eine Menge von Brückentischen hat.
Hier sind zum Beispiel meine Tabellen:
Tabelle: Personen (ID, Vorname, Nachname, Alter, Telefon, etc . .)
Tabelle: Rollen (id, Name)
Tabelle: PeopleRoles (id, personID, roleID)
Tabelle: Fertigkeiten (id, name)
Tabelle: PeopleSkills (id, personID, skillID)
Wenn ich also eine Verknüpfung durchführe, erhalte ich mehrere Zeilen für jede Person (vorausgesetzt, eine Person hat viele Rollen oder mehrere Fähigkeiten).
wenn man davon ausgeht, dass es viele weitere Tabellen dieser Art mit vielen Beziehungen gibt, was schneller ist:
Option 1:
- Wählen Sie * aus Anwendungen
- dann in einer Schleife jede Anwendung durchlaufen und ein Select * from Roles where applicationID = id inner join ausführen
Option 2:
oder versuchen, eine massive Abfrage zu erstellen, die einen großen Ergebnissatz zurückgibt, und ich muss es dann normalisieren, wenn ich dies in Datenstrukturen übersetze (da ich die gleiche Anwendung in mehreren Zeilen natürlich erhalten werde.