03-09-2007, 12:23 AM
Pio154 a écrit :Maintenant je voudrai avoir des conseils pour ne pas à avoir des charges de serveur auprès de mon hébergeur. (Parce que si il y a 300 à (400 ou 500) joueurs connectés en même tant, et qu'il y a environ 6 à 15 requêtes et 3 à 5 boucles chargé pour chaque déplacement, chaque réactualisation de la carte(map). Donc ceci représentera beaucoup de ressource auprès du serveur. Je conter faire plusieurs table pour avoir que 150 joueurs par table.Inutile de découper tes joueurs en plusieurs tables, je sais qu'au début on a un peu peur de chargé le SGBD, mais c'est fait pour tenir le choque et travailler sur de très grosses bases. Qu'il y est 500 joueurs ou 5 000 joueurs sur une même table, tu ne sentiras pas la différences.
Pour ta carte, il me semble plus naturel de leur données deux coordonnées: X et Y comme la lattitude et la longitude dans la vraie vie. Tu verras en programmant s'enboite plus facilement.
En supposant que tu souhaite affiché ta carte, qui est dans ta base de données, et les joueurs présents dessus, je te conseil d'essayer une requete avec jointure.
Le principe, c'est de tout selectionné en une seul requetes, émettons l'hypothése que la table de ta carte est du style:
X Y Contenu Terrain.
X et Y sont les coordonnées, Contenu est null s'il n'y as rien, ou contient l'ID d'un joueur.
A coter, tu as une table Membres de la sorte:
IDJoueur, Pseudo, Image
Je propose de commencer par une requete de la sorte:
SELECT X Y Contenu Terrain IDJoueur Pseudo Image from Carte left join Membres on Carte.Contenu=Membres.IDJoueur
Explications:
SELECT X Y Contenu Terrain: On selectionne les données de la carte.
IDJoueur Pseudo Image: On ajoute, pour chaque case de la carte, les données du joueur qui correspond. Si il n'y avait pas de joueur sur la case, ces variables seront a NULL.
from Carte left join Membres: On précise que les données viennent de la table Carte a laquel on ajoute la table Membres.
on Carte.Contenu=Membres.IDJoueur: On précise que le lien entre la table Membres et Carte se fait sur Contenu / IDJoueur.
J'ai pas trop l'habitude de me lancer dans une serie d'explications, je suis peu être pas trés claire
"L’avenir ne peut être prédit mais les avenirs peuvent être inventés"
Denis Gabor.
Denis Gabor.