小编Ash*_*pta的帖子

网站排名的最佳数据库设计

我正在从事一个项目,我需要以两种方式对网站进行排名 - 全球排名及其在特定国家/地区的排名。计算两者的基础有多种因素。大约有 200 个国家需要计算排名。

我正在使用 MySQL

我有两个问题——

全球排名

每当添加任何新网站时 -

  • 如果我将网站排名存储在数据库中,我需要重新计算所有网站的排名。每次添加新网站时,这都需要进行大量处理。
  • 或者另一种选择是为每个网站分配一个分数,每当进行查询时,通过order by根据分数进行分配排名,并返回其位置。这似乎不像order by昂贵的操作那样可扩展。

国家排名数据库和更新

  • 我应该如何存储每个网站的每个国家/地区排名?

  • 添加新网站时如何更新所有这些排名?在这里,更新的成本甚至比全球排名更高。

  • 我应该on-the-fly在查询时生成它然后缓存结果吗?

Play 商店等网站如何显示个性化和基于国家/地区的结果?

mysql performance database-design database-recommendation query-performance

5
推荐指数
1
解决办法
924
查看次数