Mon application Web traite des sondages (sondages). En ce moment, j'ai 2 tables dans le cadre de la base de données. Le problème avec ceci est que sur certains sondages j'ai beaucoup de réponses (> 1000). Les gens peuvent voir les résultats des sondages et montrer combien d'utilisateurs ont voté oui, non ou peut-être combien d'utilisateurs anonymes ont voté oui, non ou peut-être. Le problème avec ceci est que chaque fois qu'un utilisateur consulte les résultats du sondage, il doit parcourir toutes les réponses et compter le nombre total de réponses, le nombre de réponses pour chaque choix, le nombre de réponses pour chaque choix effectué par les utilisateurs, et Nombre de réponses pour chaque choix effectué par tracker_id (utilisateurs anonymes) et calculer les pourcentages et les afficher dans un graphique à barres. Cela rend le chargement de la page très lent. Je pensais à dénormaliser la base de données pour augmenter les performances afin que nous ayons quelque chose comme çaBesoin de conseils sur la dénormalisation d'une base de données qui traite des réponses aux sondages
polls
id
question
choices (ex: yes,no,maybe)
total_responses (ex: 10,3,3,4)
user_responses (ex: 5,2,2,1)
anon_responses (ex: 5,1,3,1)
created
polls_responses
poll_id
user_id
tracker_id
response
C'est, pour la valeur total_responses
, le 10 est le total, 3 est le nombre de réponses pour le choix yes
, 3 est le nombre de réponses pour le choix no
, et 4 est le nombre de réponses pour le choix maybe
. Le même format s'applique aux champs user_responses
et anon_responses
. Si je pouvais avoir quelques opinions sur cette méthode, ce serait grandement apprécié! Merci pour votre temps.
EDIT: J'utilise MySQL