JeuWeb - Crée ton jeu par navigateur
[Gestion inventaire] ID unique, ou non? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Gestion inventaire] ID unique, ou non? (/showthread.php?tid=2829)

Pages : 1 2 3 4 5


RE: [Gestion inventaire] ID unique, ou non? - phenix - 07-08-2008

Citation :Je sais pas si tu te rends de ce que tu dis...sélectionner 1.000 objets dans une table parmis des millions, tu crois que ca va etre plus rapide ?!

Je sais parfaitement ce que je dis...
MySQL est fait pour gérer de grosse masse de donnée, avec des champs correctement index et des clée primaire, ce sera bien plus rapide pour retrouver afficher un objet.
Les boucles et les array de PHP ne sont pas faite pour crée de grosse masse de données.

J'arrête là la discutions, tu veux avoir raison, ok, tu as raison, personnellement je m'en fou, je sais que tu as tord.

Phenix


RE: [Gestion inventaire] ID unique, ou non? - Satevis - 07-08-2008

Question de point de vue IGstaff, à moi il me parait évident que la BDD sera plus rapide que PHP, d'un coté tu as un binaire compilé issue souvent du C et de l'autre un langage de script qui doit être interprété. Lequel des deux va plus faire souffrir le processeur aussi bien sur l'instant que cumulé sur une plus longue période ?

Un exemple tout con : C'est Noël et pour marquer le coups tu donne 5 pièces d'or à chacun des joueurs (ou un nouvel objet "Papa Noël" c'est toi qui voit Smile) qui sont actifs, quelle philanthrope se diront les joueurs sauf au moment où tu va lancer ton script qui va récupérer tout les joueurs actifs, explode leur inventaire, ajouter les 5 piéces d'or, implode le nouvel inventaire et fait un UPDATE, et même si tu prévoit un cron pour le faire dans la nuit tu n'es pas à l'abri que ta table crash au milieu de ton script tandis que l'autres solution te permet d'ajouter 5 pièces d'or a tout les joueurs actifs avec une seul et unique requête et ton serveur va à peine broncher...

Après chacun ses recettes de cuisine, l'important est d'être content de ce qu'on réalise au final Wink.


RE: [Gestion inventaire] ID unique, ou non? - Ruz - 07-08-2008

mwouais... donc le carquois avec 50 fleches... 50 enregistrements? (51 avec le carquois ^^)
tu vas me dire: "des archers, t'en aura pas bcp"... possible...

les pièces d'or, exit... je vois mal un enregistrement par pièce...
Mais bon, pour le reste, oui, pourquoi pas...

vais réfléchir a tout ca, moi, suis crevé... et rien pondu comme code today Sad


RE: [Gestion inventaire] ID unique, ou non? - Cartman34 - 07-08-2008

Phenix: Fais ce que tu veux.

J'ai fais un VRAI benchmark(modèle d'oxman) de ces requetes car je pense que si nous développons nos idées, nous pouvons mieux nous exprimer.
J'ai créé 100 users avec 100 objets chacun soit 10.000 objets au total.
Le résultat est:
"Temps de chargement de l'utilisateur: 6.19888305664E-5 seconde.
Temps de chargement de l'inventaire par une autre table(Méthode que vous avez proposé): 0.000324964523315 seconde.
Temps de chargement de l'inventaire par un champs de la table user(Méthode que j'ai proposée): 0.000234842300415 seconde."

Je précise que lors du premier SELECT de l'inventaire sur un autre table, cela a pris 0.000762939453125 seconde soit le temps nécessaire quand les données viennent d'être insérées ou modifiées.

Je maintiens donc ce que j'ai dis avec des preuves.
je tiens à préciser que globalement les temps sont très proches de ceux-ci.

Précision supplémentaire: Je n'ai jamais ajouté 5 pièces d'or à tous les joueurs(ou quelconque équivalent), cela ne se fait pas et ce système est bon pour les inventaires mais je conseilles quand même de mettre les ressources à part car on est sur que l'utilisateur va en posséder ou il y a de grandes chances.


RE: [Gestion inventaire] ID unique, ou non? - keke - 08-08-2008

Coucou Igstaff ^^.

Manifestement tu as un système fiable et robuste. Si tu en es content garde le.

kéké


RE: [Gestion inventaire] ID unique, ou non? - Cartman34 - 08-08-2008

On fait ce qu'on peut pour avoir une bonne réputation lol.
J'attends d'avoir les scripts SQL pour avoir des tables avec clés étrangères pour tester car cela se montre assez intéressant...
Comme j'en ai parlé dans 2 ou 3 postes précédent et que Eluox n'a pas compris, ce système n'est valable que pour certains cas comme les inventaires, autrement je pense que chacun doit avoir son champs dans la table...


RE: [Gestion inventaire] ID unique, ou non? - keke - 08-08-2008

IGstaff a écrit :On fait ce qu'on peut pour avoir une bonne réputation lol.
J'attends d'avoir les scripts SQL pour avoir des tables avec clés étrangères pour tester car cela se montre assez intéressant...
Comme j'en ai parlé dans 2 ou 3 postes précédent et que Eluox n'a pas compris, ce système n'est valable que pour certains cas comme les inventaires, autrement je pense que chacun doit avoir son champs dans la table...

Il me semble que dans tous les cas la BDD s'impose ... mais c'est plus histoire d'avoir une homogénéité dans la méthode et un interfaçage simple et rapide que pour le reste.

Par exemple, dans Magdales, si je découvre qu'il y a un problème lié à un objet (une épée qui est trop puissante par exemple) je peux modifier toutes la base en une requête. Or chaque objets peut-être unique ... Un même type d'épée peut avoir plusieurs valeurs puissance.

Mais je ne connais pas toutes les contraintes liées à ton jeu ... fais comme bon te semble.

kéké


RE: [Gestion inventaire] ID unique, ou non? - Wells - 08-08-2008

Il y aussi des soucis d'homogénéité. Le jour ou tu voudra faire une page de stats avec tes objets.....

Il te faudra taper la moitie dans la bdd, l'autre moiti des infos ailleurs. Enfin bon c'est du grand n'importe quoi Smile


RE: [Gestion inventaire] ID unique, ou non? - Cartman34 - 08-08-2008

keke -> je ne pesne pas que ce soit al question ici et Il me semble que Ruz m'a confirmé que ce ne sont pas les cractéristiques des bojets ui lui posent problème et ce n'est pas de ce que j'ai traité mais le stockage des objets pour chaque joueur ce qui est proche mais ne focntionen aps sur le meme principe.
Un joueur utilise des objets créé dans un fichier ou une table et les met dans son inventaire, c'est comment va etre stocker l'inventaire qui nous intéresse.


RE: [Gestion inventaire] ID unique, ou non? - keke - 08-08-2008

Hum ... zygoton .. je connais pas. Parles tu des fameux arc Zigotone ?

http://fr.wikipedia.org/wiki/Arc_zigotone

Kéké Smile