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

Comment concevoir efficacement une base de données MySQL pour mon cas particulier

Vous avez un schéma relationnel comme celui-ci :

Il existe deux façons de résoudre ce problème. La première, la "propre", consiste à construire votre tableau "like", et à faire des "count(*)'s" sur la colonne appropriée.

La seconde serait de stocker dans chaque commentaire un compteur, indiquant le nombre de hauts et de bas. Si vous voulez vérifier, si un utilisateur spécifique a voté sur le commentaire, vous n'avez qu'à cocher une entrée, que vous pouvez gérez facilement comme votre propre requête et fusionnez-les deux en dehors de votre base de données (pour cela, utilisez une requête résultant en comment_id et le type de vote que l'utilisateur a fait dans un fil spécifique.)

Votre approche avec une liste séparée par des virgules n'est pas assez performante, car vous ne pouvez pas l'analyser sans une intelligence supérieure ou une énorme quantité de chaînes d'analyse. Si vous avez une base de données, utilisez-la !

("Une information - Un jeu de données" !)