Page 1 sur 1

optimisation de bdd

Posté : 17 mai 2006, 19:26
par ch4rly
Bonjour,
je travaille actuellement à la création d'un jeu de role en ligne pour lequel j'ai besoin de stocker beaucoup d'informations dans des bases de données pour chaque joueur, et qui risquent d'être beaucoup solicitées si un grand nombre de joueur se connectent en même temps ... je cherche donc à optimiser au maximum les temps de traitement des requètes sur ma base mysql (principalement de la lecture ).

Je trouve peu d'information à ce sujet aussi j'aurais souhaité avoir votre avis : vaut-il mieux diviser au maximum la base en tables de taille correcte ou au contraire tout réunir dans une immense table, pour alléger au maximum le travail du serveur ? Un grand nombre de colonnes est il plus nuisible qu'un grand nombre de lignes dans les tables ? Y'a t-il des astuces particulilères à suivre pour cette optimisation ( des requètes sql moins lourdes que d'autres ...).

Bon je sais mes question sont un peu générales mais en fait j'ai beaucoup travailler à scinder ma table des comptes en de multiples sous-tables, ce qui signifie qu'il faut parfois executer de multiples requètes sur plusieurs tables et donc j'en suis venu à me demander si finalement une seule table n'était pas préférable ...

Merci pour vos conseils avisés ;) :)

Posté : 17 mai 2006, 22:59
par Grummfy
hello,
un des point important est de savoir comment structurer ta base de donnée, choisir le bon type de colonne ( par exemple un TEXT pour un varchar 200 n'est pas top tout comme prendre un int pour un 1 ou 0 )
regarde aussi quel version du serveur de base de donnée tu as et regarde dans le manuel de celui-ci il y a souvent des petit truc, des optimisations

tu peux aussi, si c'est des donnée peux souvent modifier, créer un cache php, par exemple en stockant le profil de quelqu'un dans un tableau écrit dans un fichier...


personnellement moi j'ai tendance à laisser de petite table sur des information souvent lue et rassembler les information qui n'apparaisse que sur une page dans une autre table .....

Posté : 17 mai 2006, 23:21
par mere-teresa
Si tu sais d'avance que tu feras beaucoup de lecture et peu d'insertion, intéresse toi à la différence entre les moteurs de stockage (MyISAM, InnoDB, etc.)

Posté : 18 mai 2006, 17:28
par Invité
OK, merci pour vos réponses :)

Je vais donc essayer de me documenter un peu plus pour ouvrir mes horizons .. :)