可以在mysql中创建的数据库的最大限制?

时间:2011-02-01 15:35:33

标签: mysql database database-design schema

我可以在Mysql中创建多达500000000个数据库吗?

如果是,是否有效?

这里,每个数据库都包含用户数据,其中包含6个表,其中包含用户信息..

请告诉我这个想法在表现和实施方面的利弊。

3 个答案:

答案 0 :(得分:4)

请不要!

无论你在想什么,无论什么原因。绝对没有办法创建那么多数据库是一个好主意。

如果您正在寻找每个用户或每个X存储数据。那么请再次查看关系数据库是什么“关系数据库通过使用数据集中的常见特征来匹配数据。”

假设您正在创建图像服务,并希望每个用户都拥有自己的图像。一种方法是为每个用户提供他们自己的数据库。这是错误的,因为每个用户的数据包含相同的特征,唯一不同的是关系(用户A有图片A,用户B有图片B),(1个用户有0 ... *图片, 1张图片属于1位用户)。因此,您不是创建那么多数据库,而是创建一个用户表,并将其与图片表相关联,这样您就可以有效地使用数据库。

回答你更直接的问题。创建一个包含50.000个条目的表肯定比创建50.000个数据库更有效。

在mysql.com上编辑相关答案:http://forums.mysql.com/read.php?20,74692,74705#msg-74705

答案 1 :(得分:0)

为每个唯一身份用户创建完整的数据库并不理想。您现在强制SQL存储每个数据库并独立引用每个表。更不用说,数据库现在必须更加努力地在数据库之间检索和存储这些信息。

出于标准化目的,最好在每个表中创建一个“用户”列,以便为CRUD操作调用该列。这样可以将所有内容保存在一个位置,并保持数据库的压力。

答案 2 :(得分:0)

我怀疑他出于性能原因而想知道这一点 - 不是因为他不知道更好。

随着数据库的增长,在每个用户的唯一数据库中进行查找不会变慢 - 因为,简单地说,它不会。

但是,如果您愿意这些长度来提高性能,我的个人意见将首先考虑不同的DBMS。我对mySQL的个人经验是,如果速度不是一个问题,它是一个非常好的DBMS - 我个人发现MSSQL要快得多。

相关问题