Mysql
 sql >> Base de données >  >> RDS >> Mysql

Système de notation en PHP et MySQL

Je pense que faire un autre tableau "vote" c'est mieux. La relation entre les utilisateurs et les votes est de n à n, donc une nouvelle table doit être créée. Cela devrait ressembler à ceci :

question id (int) | user id (int) | permanent (bool) | timestamp (datetime)

Le champ permanent peut être utilisé pour faire en sorte que les votes restent après un certain temps, comme le fait SO. table avant que la table utilise 4 Go (limite fat32 s'il y a une archive par table, ce qui est le cas pour MyISAM et InnoDB).
De plus, comme le souligne Matthew Scharley dans un commentaire, ne chargez pas tous les votes en même temps en mémoire (comme pour récupérer toute la table dans un jeu de résultats). Vous pouvez toujours utiliser la clause LIMIT pour affiner les résultats de votre requête.