Bonjour,
Il y a une question que je me pose depuis un petit moment au sujet des tables avec MySQL.
J'ai lu le FAQ, mais je n'ai pas trouvé la réponse. "Est-ce qu'il vaut mieux plusieurs petites tables ou une grosse ?" semblait y répondre mais en fait il parle du nombre de colonne et pas du nombre d'entrées...
Donc voilà mon problème:
J'ai créé un programme gratuit pour créer des jeux (QCM) en PHP/MySQL, chacun peut s'inscrire et créer un nouveau jeu.
A chaque fois qu'un nouveau jeu est créé, 4 tables sont automatiquement créées propres au jeu. Chaque jeu a donc 4 tables de même schéma (ex: Joueurs, Jeu, Questions, Records).
Exemple:
Pour le JEU n°1, les tables sont:
1_JOUEURS
1_JEU
1_QUESTION
1_RECORD
Pour le JEU n°2, les tables sont:
2_JOUEURS
2_JEU
2_QUESTION
2_RECORD
...
Chaque groupe de table (joueurs, jeu, question, record) correspondant à un jeu est indépendant d'un groupe de table correspondant à un autre jeu. Il n'y a donc pas de problème de jointure entre chaque jeu qui pourrait ralentir les performances.
Jusque là tout va bien. Le problème c'est que mon programme a eu un tel succès que j'ai maintenant plus de 600 jeux. Ce qui me fait plus de 2700 tables dans ma base de données!!! J'avais opté pour cette solution parce qu'elle plus facile à gérer vu que chaque jeu à ses propres tables, on les repère tout de suite.
Ca n'a pas l'air de ralentir les jeux pour autant. Pour l'instant l'ensemble de la base de donnée fait seulement 2 MO.
Je voudrais donc savoir ce qui est mieux:
1) Avoir un nombre infini de tables de mêmes schémas avec un nombre d'entrées limitées
Exemple:
1_JOUEURS: 5 entrées
1_JEU: 15 entrées
1_QUESTION: 30 entrées
1_RECORD : 50 entrées
2_JOUEURS : 2 entrées
2_JEU: 6 entrées
2_QUESTION: 50 entrées
2_RECORD: 10 entrées
... etc ... et ce pour un total de 2700 tables actuellement
OU
2) Avoir juste 4 tables de même schéma avec un nombre infini d'entrées (et dans ce cas, il y aurait une colonne supplémentaire pour identifier à quel jeu appartient chaque ligne de donnée)
Exemple:
JOUEURS: 500 entrées
JEU: 150000 entrées
QUESTION: 3000000 entrées
RECORD : 500000 entrées
... et encore je pense que j'ai sous-estimé le nombre d'entrées dans cette deuxième solution...
Qu'est-ce qui est le plus rapide? Qu'est-ce qui est le plus optimal?
Je voudrais que mes jeux se chargent le plus rapidement possible.
Merci d'avance pour vos réponses!
Mon hébergeur: Free.fr et bientôt Online.net
Version MySQL: 4.0.22
Partager