Besoin d'aide pour structure d'une BDD MySQL - PHP - Programmation
Marsh Posté le 02-03-2012 à 23:10:04
Bonsoir,
Peut-être faire une autre table dédiée à ça ?
Appelons cette table "faits", avec les champs suivants :
ID | ID_Joueur | type_fait | valeur
Où "type_fait" peut être un entier / une énumération. Par exemple si type_fait = 42 --> date du passage au niveau max. Le champ "valeur" correspond, dans cet exemple, à une valeur de type datetime : 2012-03-02 23:05:20.
Cette table ressemblerait à :
ID | ID_Joueur | type_fait | valeur
------------------------------------------------------
140 | 6421 | 42 | 2012-03-02 23:05:20
141 | 5412 | 12 | 210 (--> nbr de boss tuées par ex)
...
Pour les requêtes : SELECT ... FROM joueurs LEFT JOIN faits ON joueurs.ID = faits.ID_Joueur
Marsh Posté le 03-03-2012 à 04:07:17
Une table avec plus de 50*20.000.000 (~ 1 000 000 000 d'entrées) sera assez rapide ?
Marsh Posté le 03-03-2012 à 14:16:19
T'as 20 millions d'inscrits sur ton site
De mémoire, il me semble qu'une table mysql est limité à 50 millions de lignes. Après, pour contourner le pb de perf ou de limite de taille, tu peux utiliser les tables partitionnées.
Marsh Posté le 03-03-2012 à 15:27:03
Pas inscrit mais fiche de joueur différence !
donc la table sera rapide ou pas ?
Marsh Posté le 03-03-2012 à 16:28:55
bien indexée, partitionnée, oui, mais ça dépend aussi du serveur. Si t'es sur du mutualisé, oublie.
Marsh Posté le 03-03-2012 à 16:47:59
Ah wai, jusqu'a combien d'entrées en mutu ça passerai ?
Marsh Posté le 03-03-2012 à 17:31:14
Le principe même d'un serveur mutualisé étant le partage des ressources, ce qui est valable à un instant t1 ne l'est pas (voire pas du tout) à un instant t2.
Marsh Posté le 02-03-2012 à 22:27:06
Plop,
Voilà, je vous demande de l'aide car je ne sais pas comment structurer ma table.
En gros, voici mon site : www.worldoftop.com (classement des meilleurs joueurs de World of Warcraft, suivant certains critères)
J'ai donc ma table "joueurs" avec différents champs (pseudo, guilde, niveau, classe, race, nombre de monture, nombre de quête effectuée...etc).
En fait je vais faire un nouveau classement recensent certains hauts faits clés comme par exemple :
- Date du passage au niveau max (85 actuel)
- Date de la mort du boss X ou Y ou Z (une 20 aines)
- Nombre de boss tués dans toute l'histoire de WoW
- ...etc Pleins d'autres ^^
J'en compte approximativement 50, donc je ne pense pas faire 50 champs différents
Sachant que la base de données va atteindre les 1.000.000 (max possible à l'heure où j'écris ces lignes : 25.000.000) de joueurs donc joueurs = entrées dans la BDD.
Le fonctionnement est assez simple :
- ID du haut faut
- Date de sa réalisation
Voilà quelqu'un aurait une idée de comment procéder?
merci
---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »