Hallo,
ich hab ein Problem mit einem DB-Entwurf( MySQL-Client-Version: 5.1.41 ).
Wobei es eigentlich kein Problem ist, sondern eine Performancefrage. Also:
Ich hab 3 Tabellen. Diese Bilden eine Hierarchie:
+------+ +------+ +------+
| C | | B | | A |
+------+ n:1 +------+ n:1 +------+
| id | +---| id | +---| id |
| id_B |---+ | id_A |---+ +------+
+------+ +------+
Nun hab ich das Problem, dass ich sehr oft die Anzahl abfrage. Also:
- Wie viel B's besitzt A?
- Wie viel C's besitzt B?
- Wie viel C's besitzt A?
Da diese Abfragen sehr oft gemacht werden, ist es natürlich performancelastig, zudem auch INNER JOINS über 2 und 3 Tabellen.
Ist es da besser, in Tabelle A ein Feld zu machen und darin die Anzahl der B's und C's unter A zu speichern?
Natürlich müsste ich die Anzahl bei jedem Erstell- und Löschvorgang entsprechend hoch- oder runterzählen.
Das erstellen von A's, B's oder C's, kommt eigentlich wesentlich weniger vor als das Anzeigen.
Mach ich mir jetzt Performance-Sorgen wegen nichts? Sollte ich es beim Alten belassen oder Felder mit der Anzahl reinspeichern?
MfG. Christoph Ludwig
Wo die Sprache aufhört, fängt die Musik an...
Selfcode: sh:( fo:| ch:} rl:( br:> n4:? ie:{ mo:) va:} js:| de:> zu:) fl:( ss:) ls:&