【问题标题】:How to design and handle big tables in mysql?如何设计和处理mysql中的大表?
【发布时间】:2015-11-28 06:04:25
【问题描述】:

假设我有一个 Games 表、一个 Players 表和一个 Game Admin(谁可以将游戏添加到系统)表,并且得分表包含游戏 ID 玩家 ID 和每个游戏级别的得分。

每个游戏都有很多玩家 玩家不是游戏管理员。 每个Game Admin都有几个Games。得分表可能超过1500万条记录。

我有两个想法:请告诉我利弊

根据我的估计系统不会有超过100个游戏所以:

1.为每个游戏创建新表,以防止将所有分数存储在一个表中

2.将玩家和玩家的主要资料保存在一个数据库中,并为每个游戏创建新的数据库?

哪个选项更合适? 如果您有其他想法,请与我分享。 谢谢

【问题讨论】:

  • 不确定是什么问题。但是,您是否在检查我们以向您提供代码?还是什么?
  • 这可能是极少数情况下,动态创建数据库(或表)可能是最佳解决方案。

标签: mysql sql database-design


【解决方案1】:

从查询性能的角度来看,这两种解决方案基本上是等效的,因为它们具有更多的小尺寸表。唯一的区别在于三个方面,第一个与访问和连接时间或对数据库的身份验证有关,在多个数据库访问各个板并从 dns 尤其是从 dbname 向上游路由的情况下,但这意味着对于每次访问游戏表时,您都应该建立新的连接。在第二种情况下,新连接的使用可能会更少,但是您应该注意,您必须担心在您的代码中管理要访问的表的动态标识。最后,在您可以访问的数据库数量方面,如果您使用托管解决方案,您通常会受到使用权利或与供应商的服务合同的限制。

【讨论】:

  • 请说清楚一点,我真的不明白我现在应该怎么解决这个问题?!
  • 取决于您的需求、经验和架构。您的 Web 应用程序由数据提供者托管?您是否限制了您的服务条款可访问的数据库中的数量?你是一个优秀的程序员吗?你是一个好的系统/数据库经理吗?如果您正在寻找一些提示,我的回答可能会很有用。如果您处于评估阶段,我建议您在试用期测试/实施解决方案的原型并评估更真实的场景..
猜你喜欢
  • 2011-11-16
  • 2011-02-23
  • 2016-04-15
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多