MySql DB设计问题

时间:2010-02-08 06:13:52

标签: mysql database-design

假设我有一个应用程序,我希望不超过50,000个用户 我的数据库架构中有7个表。复制所有的是一个好主意 每个用户的表格?因此,在我的情况下,表的数量大致为
50,000 * 7 = 350,000。 无论如何它比7个单片表更好吗?

4 个答案:

答案 0 :(得分:1)

,我不建议在同一个数据库中为每个用户创建一个表模式。

如果表上有正确的索引,mysql应该能很好地处理负载。

答案 1 :(得分:1)

你提出的是横向分割。 http://en.wikipedia.org/wiki/Partition_%28database%29 即根据一些分区方案(在这种情况下,每个用户一个表),你将所有行(逻辑上)作为一个表,然后将这些行分布在多个表中。

通常,对于这种性质的入门应用程序,只考虑性能开始受到影响时的分区(以及许多其他选项)。

答案 2 :(得分:0)

当然不是。 DB通常针对给定表中的多行进行优化...尝试重新考虑您的数据库模式,以在每个表中包含一个包含用户ID的字段或另一个包含特定用户ID和密钥的关联表数据表中的条目。

数据库设计有一个不错的介绍here

答案 3 :(得分:0)

不,绝对不是。有两个原因:

  1. 数据库设计不应仅因为您在其中存储更多数据而改变。

  2. 访问不同的表格为more expensive,比访问单个表格中的特定数据更复杂。

  3. 如果您想要每个用户的值的统计信息,请立即映像。您必须使用50 000个单独的查询从50 000个表中收集数据,而不是针对一个表运行单个查询。

    表可以很容易地包含毫安记录,但我不确定数据库是否甚至可以包含35万个表。