我一直在对这个问题进行一些研究,但仍然无法做出令人满意的决定。
这个问题最接近,但仍然没有真正帮助我的情况。 MySQL 数据库中的大量列
我基本上是在创建一个“谁会在战斗中获胜”的网站,以解决长期存在的蝙蝠侠与超人风格的争论,用户可以在其中投票决定他们认为谁会赢。
用户可以选择向网站提交“战斗机”,然后将随机匹配到其他所有战斗机,供未来用户投票。
我显然想保留所有比赛的统计数据以显示给用户。
现在我将有一个名为让我们说 FIGHTERS 的表。这将存储主键、名称、描述等信息,但不存储战斗结果。
至于存储战斗结果,我可以看到两个选项。
选项 A:为每个战士创建一个表格,计算他们与其他所有战士主键的获胜票数。
选项 B:创建一个大型投票表,该表将具有由战斗机的主键索引的相同数量的列和行。然后例如要获取战斗机 1 与 战斗机 4 的统计数据,我将查询第 1 行(战斗机 1 PK1)第 4 列(用于战斗机 4 PK4)以获取战斗机 1 胜与战斗机 4 的数量,然后重复但查询第 4 行(PK4 为战斗机 4),第 1 列获得战斗机 4 胜对 战斗机 1。当添加数百(数千?)战斗机时,这张桌子显然会变得非常大。
(希望这不会太混乱!)
所以我想我的问题是,拥有数百个小表是否更好(添加新战斗机时都需要添加列和行)。还是要一张大桌子?
我完全是 50/50,所以请任何建议或其他方式我可以实现这一点将不胜感激。
提前致谢。
编辑:很抱歉留下了这个。我想到的投票基本上可以作为对每个战士的总票数的计数,以支持赢得与其他战士的战斗。