Hallo zusammen.
Ich würde gerne wissen, ob sich zu folgender Konstellation eine Aussage bezüglich Performance treffen läßt, bzw. ob ihr effizientere Möglichkeiten seht folgendes umzusetzen:
Konkretes Beispiel Fußball-Tippspiel:
Es werden für jeden User zu jedem Spiel Tipps in der Tabelle 'tipps' gespeichert. Diese umfasst dieses Jahr zur WM2010 in Südafrika 64 Spiele. Diese Tipps könnte ich jetzt entweder:
- in EINEM Datensatz für jeden User speichern; in einer Tabelle die die Datenfelder für die Spiele 1-64 enthält:
Tabelle tipps:
userid | timestamp | game1 | game2 | game3 | ... | game-n
...oder
- für jeden Tipp je Spiel einen EIGENEN Datensatz anlegen und diesen mittels einer ID je Spiel (Spiel 32 = gameid:32) identifizieren.
Tabelle tipps:
userid | timestamp | gameid | tipp
Angenommen ich habe (fast realistische

) 100 Mitspieler, ergäbe das bei Variante:
- 100 Datensätze mit 66 Datenfeldern (64 Spiele plus userid & timestamp)
- 6400 Datensätze (64 Spiele x 100 Spieler) á 4 Datenfelder
Vorteile bezüglich der Verarbeitung und Auswertung sehe ich eindeutig bei Variante 2.: Hier kann ich z.B. je abgegebenem Tipp auswerten, WANN dieser erfolgt ist; bei Variante 1 nur, wann die letzte Änderung an den Tipps erfolgte (nicht aber
welcher Tipp geändert wurde!).
Da ich mir genau diese Frage bei meinen (Hobby-)Projekten immer wieder stelle, würde ich gerne wissen:
Lieber
viele Datenfelder und wenige Datensätze oder wenig Datenfelder und viele Datensätze??
Mit freundlichen Grüßen,
Markus.