Chaque utilisateur peut voter une fois par article (seuls les utilisateurs enregistrés peuvent voter). J'ai donc une table des votes des utilisateurs qui comprend l'ID de l'utilisateur, l'ID de l'élément voté et la valeur du vote (de 1 à 10).PHP/MySQL: Système de notation - Somme chaque vote des utilisateurs ou mise à jour de la table des votes généraux?
Je dois montrer le nombre total de votes et d'évaluations pour chaque article, donc je veux savoir ce qui est mieux: Obtenir de la table user_votes tous les votes pour cet article OU enregistrer le vote chaque fois qu'un utilisateur vote dans un tableau des votes puis obtenez juste ce champ forme cette base de données?
Après avoir relu la réponse, je ne suis pas d'accord avec elle. Stocker la valeur signifie mettre à jour pour rester synchronisé avec les données existantes - up ** et/ou ** down vote. Cette réponse préconise également la duplication de données redondantes - qui peuvent être récupérées en utilisant des fonctions agrégées (COUNT ou SUM, dépend des besoins). –
Oui, parfois vous avez besoin de données redondantes pour effectuer des requêtes complexes * rapidement *. Surprise? – Sergei