Je réfléchissais à un autre potentiel problème : la base de données d'un forum fréquenté génère déjà un nombre de requêtes très important et la taille de la base de données, en 2 ans d'existence, fait déjà 100Mo.
On l'a vu par le passé avec le jeu de pronostics : manipuler un grand volume de données avec des calculs génère beaucoup de requêtes en plus et quand on était arrivé à la fin de la première année le forum s'est mis à ramer devant le volume que ça représentait. La solution consista à ne plus calculer le score de chacun en temps réel mais de le calculer au moment de l'entrée des nouveaux scores en n'ajoutant que les nouveaux points (pas de recalcule depuis le début du jeu) et en mettant les résultats du calcul dans une autre table qui fait cache.
Du coup, étant donné que des stats sont forcément beaucoup plus volumineuses à traiter, je me demande si c'est juste possible de le faire sur un serveur mutualisé comme aujourdhui sur lequel tourne déjà un gros forum. Je pense que dans ce cas il vaut mieux avoir un serveur dédié puissant avec beaucoup de mémoire pour réaliser toutes les opérations nécessaires à ce genre d'application.
Pour éviter une trop grosse surcharge du serveur, tu peux stocker les plus grosses requêtes dans une table externe. De ce fait tu évite la surcharge et tu ne recalcule pas à chaque affichage. Généralement c'est requêtes sont réalisés dans la nuit entre 3h-5h là où tu auras beaucoup moins de monde sur ton site. Dans certain cas les sites préfèrent fermer leur site (maintenance) pendant c'est heures pour limiter la surcharge du serveur et ne pas être gêner par les visiteurs.
Par exemple quand tu va saisir les nouvelles stats d'un match tu peux les saisir dans un fichier CSV qui sera traité dans la nuit ce qui évite de prendre les énormément de ressources.
Par contre une base de donnée de 100mo ??? ça commence à faire un peu beaucoup... :s