MySQL classement

3 réponses
AuteurMessage

tybozz |
Membre

 

Inscrit le : 09/05/2005

# Le 16/01/2007 à 18:54

Je reviens avec une nouvelle question. J'ai une table joueur avec comme champs : id, points, classement.

Points évoluent régulièrement, et j'aimerai que classement reflete la position du joueur parmis les autres, en évitant de faire un select id from joueur order by points et un update par ligne ...

J'ai tenté

UPDATE joueur AS a SET place = ( SELECT COUNT( DISTINCT b.points )
FROM joueur AS b
WHERE b.points >= a.points )

mais il me dit qu'il aime pas avoir 2 fois la table joueur

Si je duplique joueur en joueur2, et que je fais

UPDATE joueur AS a SET place = ( SELECT COUNT( DISTINCT b.points )
FROM joueur2 AS b
WHERE b.points >= a.points )

ça passe ... mais bon.

Elevez un dragon !Ouvrir dans une nouvelle fenetre avant qu'il ne fasse le casting pour la star on the net academyOuvrir dans une nouvelle fenetre ou qu'il ne s'empiffre de bonbons à gogoOuvrir dans une nouvelle fenetre

zimounet | Quentin
Membre

Photo de zimounet

Inscrit le : 22/03/2006

# Le 16/01/2007 à 21:27

Quand on développe des sites aussi fréquentés et aussi gourmand... une requete comme celle ci de toute facon on ne le l'execute pas a la volé... Met la dans un tableau que tu sérialize, et que tu enregistre dans un txt... et tu regénere le txt toutes les heures (par exemple)

Et le order by sur un champ indexé si ce sont des données numériques je pense que ça suffirais a alléger nottablement la charge de mysql pour l'execution de la requete...

M'enfin je suis pas un expert loin de la, mais bon dans ce genre d'application il faut cacher un mimimum.

Ah, c'est balot madame Chombier!

tybozz | Thibaud
Membre

 

Inscrit le : 09/05/2005

# Le 16/01/2007 à 21:34

oui oui c'est fait pour etre généré qu'une fois toutes les X minutes mais le problème est pas là

Elevez un dragon !Ouvrir dans une nouvelle fenetre avant qu'il ne fasse le casting pour la star on the net academyOuvrir dans une nouvelle fenetre ou qu'il ne s'empiffre de bonbons à gogoOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 17/01/2007 à 09:05

Pourquoi ne pas stocker le "classement" dans une autre table, qui ne servirait donc qu'à ça ?

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 13:10:24 | Généré en 4.72ms | Contacts | Mentions légales |