什么时候可以将派生数据存储在数据库中?

del*_*ber 4 database

我目前有一个包含两个字段的 GAME 表

user_id,赢

win = 1 为胜利,0 为失败

假设我想显示胜率。这对于计数操作来说是相当简单的。但是,假设我想在同一页面上显示数千个用户,每个用户的获胜百分比。我对这种情况有一些可扩展性问题。创建具有以下字段的单独缓存表是否太过分了

user_id, win_percentage

每次发布新游戏时都会更新。现在可以非常快速地确定获胜百分比,而不是使用数千次计数操作。处理这个问题的最佳方法是什么?

S.L*_*ott 5

数据仓库人员说将派生数据存储在数据库中总是合适的。只要不更新。

问题是更新之一。

第一的。您对可扩展性的担忧并不多。“假设我想在同一页面上显示数千名用户,每个用户的获胜百分比”并不重要。这可以非常非常快地计算出来。

每次发布新游戏时都会更新。

这就是存储派生数据的问题。更新成本实际上可能超过计算成本。如果没有实际使用情况统计,您就不会知道。

因此。

在您可以证明(通过实际测量)存储数据更有效之前,不要存储派生数据。