我正在从事一个项目,我需要以两种方式对网站进行排名 - 全球排名及其在特定国家/地区的排名。计算两者的基础有多种因素。大约有 200 个国家需要计算排名。
我正在使用 MySQL
我有两个问题——
全球排名
每当添加任何新网站时 -
order by
根据分数进行分配排名,并返回其位置。这似乎不像order by
昂贵的操作那样可扩展。国家排名数据库和更新
我应该如何存储每个网站的每个国家/地区排名?
添加新网站时如何更新所有这些排名?在这里,更新的成本甚至比全球排名更高。
我应该on-the-fly
在查询时生成它然后缓存结果吗?
Play 商店等网站如何显示个性化和基于国家/地区的结果?
mysql performance database-design database-recommendation query-performance