首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql -大型单表或多个小表

问MySql -大型单表或多个小表
EN

Stack Overflow用户
提问于 2010-10-15 16:21:16
回答 4查看 4.3K关注 0票数 6

我正在构建一个PHP/MySql数据库应用程序,该应用程序可能会在某些表上大量使用。

有三个表有可能执行大量更新--以下是有关这些表的一些信息

  1. 每个用户最多每表有200行
  2. ,每行可以大到250 k
  3. 潜在用户数可能是5,000个用户

我的主要问题是,(在Linux服务器上),每个MySql数据库的最大表是什么?我还对采用为每个用户分配一个表而不是所有用户共享的单一表的方法的利弊感兴趣。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-15 16:30:22

表的数量仅受数量节点或磁盘上物理空间的限制。

不知道你在做什么,尽管很难给出一个很好的意见。一般来说,只要有适当的索引,1,000,000行表对MySQL来说就不是什么大问题。IMHO,这是一个更好的解决方案,比为每个用户都有一个表(系统可以做到,但我认为它最终是一个维护噩梦)。

你为什么每张桌子需要250 K?你在每一行存储这么大的东西?探索将数据拆分到其他表中。

一般来说,良好的数据库设计将数据类别放入表中,而不是将表用作行。

票数 6
EN

Stack Overflow用户

发布于 2010-10-15 16:36:12

从设计和编程的角度来看,一个表肯定更可取。我认为多表切分方法是一种黑客,在开发和测试“正确”设计之后,您才应该考虑性能方面的原因。

如果1)您的表被广泛地编入索引,或者2)它们涉及到大量的行重写/移动(在MySQL中我不知道细节),那么这些更新将对您造成伤害。

票数 1
EN

Stack Overflow用户

发布于 2010-10-15 16:36:26

根据您的文件系统,每个数据库的表的最大值是有限的。该数字对应于目录中允许的文件数。

创建这么多表似乎是维护的噩梦。如果您需要更改有关表的任何内容,则需要对每个用户进行更改。可能几个小时甚至几天。将所有用户数据保存在同一个表中,并在用户id上建立一个很好的索引,这将大大提高您的效率。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3944123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档