17-11-2008, 08:48 PM
et en faisant SUM / GROUP BY id_joueur ?
A+
Pascal
A+
Pascal
17-11-2008, 09:21 PM
Ca arrange pas mon problème pour les planètes et lunes et je pourrais l'appliquer aux utilisateurs par contre.
je pourrais avoir une seule requete qui calcule la somme des points des planètes et lunes pour les mettre dans la table des joueurs, un peu comme je faisais avant (mais à chaque actua...) mais je ne pourrais plus avoir de rangs.
Anciennement IGstaff.
Administrateur serveur & développeur web. Mes sites: Je ne fais plus de site de jeu. Autres sites: Staart V2, Cartman34 PWS, Anek.me
Comme tu voudras mais si tu comprends quelque chose sans connaitre toutes les fonctions et variables, je te nomme "Dieu". Les requêtes SQL à la fin ne vous permettent PAS de recréer les tables utilisées mais servaient à modifier les anciennes tables afin d'être compatible avec ce système.Ce script est sous licence Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France: Code PHP :
Elles peuvent vous aider à comprendre le script cependant.
Anciennement IGstaff.
Administrateur serveur & développeur web. Mes sites: Je ne fais plus de site de jeu. Autres sites: Staart V2, Cartman34 PWS, Anek.me
18-11-2008, 11:23 AM
je reste sur les jointures, avec des updates par lots, genre :
- mettre à jour les points pour toutes les planetes et lunes - mettre à jour les points pour tous les joueurs pour ça, il faudrait passer par des jointures, sur l'id joueur. le modele de données avec les relations manque. Il faudrait peut être créeer des tables en plus pour stocker ces points. A+ Pascal
18-11-2008, 11:39 AM
Tu voudrais faire le calcul via MySQL ? (extremement difficile et lourd)
Ou Tu voudrais que je fasse un enregistrement des nombres obtenus avec une grosse grosse jointure ? Il peut y avoir facilement 10 planètes par joueurs et jusqu'au meme nombre de lune. Je souhaite rester sur ce modèle. (je n'ai absolument pas envie de relancer le débat) Tu crois qu'un UPDATE avec une grosse jointure serait plus rapide ?
Anciennement IGstaff.
Administrateur serveur & développeur web. Mes sites: Je ne fais plus de site de jeu. Autres sites: Staart V2, Cartman34 PWS, Anek.me
Je suis en train de le faire. Merci.
EDIT: Voici les résultats Pour 6 joueurs et 8 planètes/lunes: - Avec une jointure: Temps Moyen d'exécution(sec): 0.00870922851563 stats_update.join.php (Taille : 10,11 Ko / Téléchargements : 3) - Avec plusieurs requetes: Temps Moyen d'exécution(sec): 0.00744750976562 stats_update.more.php (Taille : 9,39 Ko / Téléchargements : 1) Je joins les 2 scripts
Anciennement IGstaff.
Administrateur serveur & développeur web. Mes sites: Je ne fais plus de site de jeu. Autres sites: Staart V2, Cartman34 PWS, Anek.me
19-11-2008, 12:55 AM
A mon humble avis c'est la conception qui ne joue pas, niveau code pas grand chose à dire, ci ce n'est que ton code est très peu agréable à lire, peu clair, pas hyper bien structuré... Mais la n'est pas la question! Avec des objects tu pourrais probablement gagner un peu de temps d'exécution.
Mais si tu veux vraiment remédier au problème du gros update, ben... tu fais que c'est pas un gros mais pleins de petits XD Je m'explique: Au lieu d'actualiser tous les joueurs chaques 30 min. ou je ne sais quoi, tu les actualises un par un, et ceci seulement quand tu en as besoin! Sur mon jeu j'ai un problème encore plus complexe, car je gère des troupes en temps réel ect. La solution est celle la: Tu écris une function à laquelle tu passe le joueur en param, et ta fonction update uniquement ce joueur. Ne te reste plus qu'a charger cette fonction au bons endroits : vue d'ensemble ou mon classement est affiché par exemple, fiche des autres joueurs que je visite ainsi de suite! J'espère avoir pu t'aider... bonne chance ;-) ps. en POO tu aurais 10 fois plus de facilitées, je t'encourage vivement à t'y coller, tu as une bonne concéption des multis arrays d'après ce que j'ai vu, la POO ne devrait plus être trop difficile dès lors niveau logique ;-)
T'inquiète pas Zeppelin, je gère la POO mais dans le jeu, il n'y a aucune classe (ou presque) à la base et je vais pas m'aventurer à en ajouter comme ça.
De plus, il y aurait soit trop d'objet et je devrais en définir des masses, soit ca reviendrait un peu au même ici. Le mieux serait de recoder tout le jeu...mais je doute que tu saches la masse que c'est, c'est pas un Ogamelike pour rien. A la base, les points s'ajoutait au fur et à mesure des constructions etc... mais c'était un vrai calvaire car il y avait une montagnes de faille et ca devenait lourd tout le temps. Quant à le faire au moment opportun...s'il n'y a pas de joueurs, les statistiques ne se mettent pas à jour et s'il y en a, ils vont tout le temps les voir. Donc je dois régulièrement actualiser (c'est réglé par défaut à 1 heure normalement et passé à 24heures de délai à cause des lourdeurs mais c'est configurable :p) Si tu remarques bien, tout est organisé dans ce script (ca fait un peu prétentieux...) et les boucles sont à la pelle (ou à l'appel). En soit, ce script est extrêmement rapide mais les lenteurs viennent surtout des requêtes. Enfin, je pourrais surement y gagner beaucoup en sachant exactement ce qui est plus rapide que ce que j'ai mis en détails. il est vrai qu'il n'est pas très commenté et estimez vous heureux d'avoir des commentaires...lol
Anciennement IGstaff.
Administrateur serveur & développeur web. Mes sites: Je ne fais plus de site de jeu. Autres sites: Staart V2, Cartman34 PWS, Anek.me |
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Update MYSQL | xanthius | 17 | 4 753 |
06-06-2018, 09:44 AM Dernier message: Xenos |
|
Boucle & Update - Optimisation | xanthius | 10 | 3 524 |
26-02-2017, 09:25 PM Dernier message: xanthius |
|
UPDATE mysql dans une boucle: alternative? | php_addict | 29 | 12 328 |
18-01-2012, 12:14 AM Dernier message: php_addict |
|
Modifier plusieurs entrées en une seule requête UPDATE avec MySQL | php_addict | 11 | 15 072 |
26-08-2010, 08:01 PM Dernier message: srm |
|
sessions VS mysql ... optimisation ? | MaXOhBalle | 4 | 2 458 |
21-09-2009, 04:35 PM Dernier message: MaXOhBalle |