minicrispie: Datensatzanzahl zwischenspeichern? Performance...

Beitrag lesen

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:&