0
我想找出最好的方法来设计一个数据库,允许用户排名一些项目。对于多个排名,一个好的mySQL数据库设计是什么?
该项目是由所有用户排名。
每个项目在开始时会自动分配一个等级。所以当我创建一个用户时,排名表将被自动填充。
因此,像这样:
users (id, name) - 100,000+ entries
items (id, name) - never more than 1,000 entries
我目前能想到的容纳排名的唯一事情是这样的:
rankings (id, user_id, item_id, ranking)
但是,这感觉错了,因为我有100万项在rankings
表中。我不知道这没关系?我还可以使用其他什么选项?
感谢您的建议。排名从0到1(0.25,0.33 ...),并且每个用户只能对所有项目排名一次。我会尝试一下! –
如果您的排名为0到1,您应该考虑在'排名'列中使用'FLOAT'范围[0-1]或'INT',其中0代表0.0,1000代表1.0。 –