假设我有一个Games表,一个Players表和一个Users表。
到目前为止结构看起来很好。但我想知道,如果每天可能有成千上万的游戏(这种游戏的持续时间非常短),每个游戏有10或20个玩家......我可能会在玩家表中以数百万行结束超过一年。即使在游戏结束后我也需要将每个玩家保存在桌面中,因为我希望能够重播任何游戏。我担心那时的表现,选择和更新会变得越来越慢,对吗?
有什么想法吗?
答案 0 :(得分:2)
本质上,这是一个可扩展性的问题。由于可扩展性是几乎所有流行的网站,游戏等遇到的问题,因此有一系列解决方案。首先,考虑到合理的数据库设计和索引的使用,现代数据库可以处理数百万行数据。如果您的游戏如此受欢迎,以至于数据的增长超出了现代数据库的处理范围,并且您的企业拥有一些商业模式,那么您可能会获得足够的收入来聘请顶尖专家来帮助您解决这个问题。
如果您刚刚开始实施游戏,我建议您稍后对数据库进行微调并进行查询,可能性差异在于不同的地方,而不是您期望的地方。不要过早优化:)
答案 1 :(得分:1)
是的,很长一段时间后,性能会有一些问题,但对这些表字段进行适当的索引会使你更容易。
跟踪表格中即将进行的所有选择和更新查询,并进行正确的索引编制。
您可以参考How MySQL Uses Indexes和EXPLAIN Output Format
您还可以考虑将一些游戏或记录存档一段时间(如1个月或2个月)到具有相同结构的另一个表格中。