我正在构建一个PHP/MySql数据库应用程序,该应用程序可能会在某些表上大量使用。
有三个表有可能执行大量更新--以下是有关这些表的一些信息
我的主要问题是,(在Linux服务器上),每个MySql数据库的最大表是什么?我还对采用为每个用户分配一个表而不是所有用户共享的单一表的方法的利弊感兴趣。
发布于 2010-10-15 16:30:22
表的数量仅受数量节点或磁盘上物理空间的限制。
不知道你在做什么,尽管很难给出一个很好的意见。一般来说,只要有适当的索引,1,000,000行表对MySQL来说就不是什么大问题。IMHO,这是一个更好的解决方案,比为每个用户都有一个表(系统可以做到,但我认为它最终是一个维护噩梦)。
你为什么每张桌子需要250 K?你在每一行存储这么大的东西?探索将数据拆分到其他表中。
一般来说,良好的数据库设计将数据类别放入表中,而不是将表用作行。
发布于 2010-10-15 16:36:12
从设计和编程的角度来看,一个表肯定更可取。我认为多表切分方法是一种黑客,在开发和测试“正确”设计之后,您才应该考虑性能方面的原因。
如果1)您的表被广泛地编入索引,或者2)它们涉及到大量的行重写/移动(在MySQL中我不知道细节),那么这些更新将对您造成伤害。
发布于 2010-10-15 16:36:26
根据您的文件系统,每个数据库的表的最大值是有限的。该数字对应于目录中允许的文件数。
创建这么多表似乎是维护的噩梦。如果您需要更改有关表的任何内容,则需要对每个用户进行更改。可能几个小时甚至几天。将所有用户数据保存在同一个表中,并在用户id上建立一个很好的索引,这将大大提高您的效率。
https://stackoverflow.com/questions/3944123
复制相似问题