Mailinglisten-Archive |
Hallo Andreas, also wenn ich das richtig verstehe gibt es N Spiele mit jeweils Mn Benutzer. Jeder Benutzer kann bei jedem der Spiele eine bestimmte Score haben. Nun gibt es für jedes Spiel eine Topliste. Soweit richtig ? Falls noc hdazu kommt das für jeden Spiele alle einzelspiele gespeichert werden dann gibt es halt noch pro Benutzer pro Spiel eine Liste der Einzelspiele. Nun die Daten würde ich in einer relativ "schmalen" Tabelle halten (game,user,score) und diese dann mittels geeignetem index (game, score desc) absteigent bis zu einem Limit ausgeben. Das sollten dann fast vollständig über den Index laufen und lasttechnisch beherrschbar sein. Zumal man davon ausgehen kann das es nie N x Mn Datensätze geben wird da nie jeder Spiele alle Spiele spielen wird. Für die Erweiterung mit Einzelspielen sollte man die Daten vorverdichten. D.h. aus der Liste der Einzelspiele ermittelt man einfach Max(score) in die o.g. Tabelle (game,user,score) um so den Ausgangspunkt für die Toplisten zu haben. Das Vorverdichten ist dabei eine "lokale" Aktion beim beenden eines Spiels des Benutzers und auch Lasttechnisch überschaubar. LG, Andreas
php::bar PHP Wiki - Listenarchive