我正在从在线游戏中挖掘比赛数据,其中每场比赛都是 5 对 5,每个玩家在比赛开始时选择一个独特的角色或英雄。
我的最终目标是使用频繁项集生成来确定哪些英雄组合最受欢迎,以及哪些组合可能更频繁地获胜。
我想要一个基于网络的应用程序,用户输入对方球队选择的英雄,以及你的球队当前选择的英雄并推荐英雄选择。这些英雄会在与对方球队选择的英雄的比赛中更频繁地出现。
我知道选择更频繁的英雄最终也会更频繁地出现在获胜游戏中,这就是为什么我可能会使用一个仅包含游戏模式中的英雄的交易数据库,其中英雄是为每个玩家随机选择的。
我有一个 MySQL 数据库,它有一个 Match 表、一个 Hero 表和一个 MatchHero 表,其中包含 (MatchId,HeroId) 的主键和该英雄是否获胜的布尔值。该表目前有大约 2600 万个条目。问题是获取数据可能需要 3 到 14 秒,具体取决于记录的数量(用户选择越少,获取的记录越多)。
什么是最好的设计,让我在获取数据和计算对于 Web 应用程序来说足够快的情况下实现这一点?将表存储在内存中?我不太担心实际的项目集生成算法,因为我已经在先验方面取得了不错的表现。是否可以预先计算与频繁项集生成相关的任何内容?谢谢你的帮助!