我目前有一个包含两个字段的 GAME 表
user_id,赢
win = 1 为胜利,0 为失败
假设我想显示胜率。这对于计数操作来说是相当简单的。但是,假设我想在同一页面上显示数千个用户,每个用户的获胜百分比。我对这种情况有一些可扩展性问题。创建具有以下字段的单独缓存表是否太过分了
user_id, win_percentage
每次发布新游戏时都会更新。现在可以非常快速地确定获胜百分比,而不是使用数千次计数操作。处理这个问题的最佳方法是什么?
数据仓库人员说将派生数据存储在数据库中总是合适的。只要不更新。
问题是更新之一。
第一的。您对可扩展性的担忧并不多。“假设我想在同一页面上显示数千名用户,每个用户的获胜百分比”并不重要。这可以非常非常快地计算出来。
每次发布新游戏时都会更新。
这就是存储派生数据的问题。更新成本实际上可能超过计算成本。如果没有实际使用情况统计,您就不会知道。
因此。
在您可以证明(通过实际测量)存储数据更有效之前,不要存储派生数据。