假设我要做社区排名,不断有新用户加入,每个用户有得分,每天根据得分做个头100名的排行榜,还要显示每个排名的变化,例如今天ABC升了2名,efg排名下降了5名。对于没个用户,还能查到位置的每天变化。请问一下这样的表单要怎么设计才能做到快速查询?
我的想法是一个大表存历史数据
name point date
----------------------
abc 2,700 20140702
efg 2,600 20140702
...
abc 2,100 20140701
efg 2,500 20140701
然后再每天更新排名表
name point date position delta
--------------------------------------------
abc 2,700 20140702 1 +1
efg 2,600 20140702 2 -1
从来没做过数据库设计,知识也就限于学校学的和日常用的pk, m2m之类的。有没有一些入门的表单设计读物? 或者google keyword? 我暂时找到的是db design pattern.
先谢.
我的想法是一个大表存历史数据
name point date
----------------------
abc 2,700 20140702
efg 2,600 20140702
...
abc 2,100 20140701
efg 2,500 20140701
然后再每天更新排名表
name point date position delta
--------------------------------------------
abc 2,700 20140702 1 +1
efg 2,600 20140702 2 -1
从来没做过数据库设计,知识也就限于学校学的和日常用的pk, m2m之类的。有没有一些入门的表单设计读物? 或者google keyword? 我暂时找到的是db design pattern.
先谢.