phpbar.de logo

Mailinglisten-Archive

[php] Statistikauswertung Spieleportal

[php] Statistikauswertung Spieleportal

Andreas Müller php at universalware.de
Mit Jun 20 16:06:27 CEST 2007


Hallo Andreas,

> Die Update-Query würde dann in etwa so aussehen:
> UPDATE table AS t1 SET ranking = (SELECT COUNT(*) FROM table AS t2
> WHERE t2.score >= t1.score)

jupp da liegst du richtig mit einer kleinen Einschränkung: du musst es nur
für das konkrte Spiel neu berechnen und ein weiterer Schlüssel muss her der
gleiche Scores in eine Reihenfolge bringt. Können mehrer User das selbe
Ranking haben weil gleicher Score muss noch ein "Count(distinct score)"
rein.

Die Frage der Last ist schlicht wie oft das Ranking abgefragt werden muss.
Wenn du z.B. im Layout rechts eine Box machen willst "Meine Top 5 Spiele"
dann wäre es mühsam das jedesmal neu zu berechnen. Wenn du im Profil des
Users dessen Spiele-Ranking anzeigen willst muss man die Frage beantworten
wie oft das Profil aufgerufen wird. Kann es nur der User aufrufen kann dann
reicht der Ansatz es live zu berechnen. Ist es aber öffentlich dann werden
schon mehr Leute einen User aklicken und dann wird öffters live berechnet.
Eine pauschale Aussage hier zu treffen ist schwer. Ich weiss nur das man
wenn man die Werte einmal hat viele spätere Ideen direkt umsetzen kann
(siehe Idee mit Top Box oben). 

Gruß,
Andreas



php::bar PHP Wiki   -   Listenarchive