我需要创建一个包含数千个表的mysql数据库。对于这个单一因素,一种表格类型优于另一种表格类型是否有优势?
原因是每个用户将插入数千行的100个。所以想给每个人一个单独的表。
答案 0 :(得分:0)
在您的问题中没有任何其他信息,我只能猜测您将如何使用这些数千个表格。您的预期用法可能与表类型的选择有很大关系。
也就是说,影响使用MySQL创建数千个小表的人的一个常见问题是,每个单独的文件都是在磁盘上创建的,默认大小假设您只在这些表中存储了少量数据,远远低于物理文件大小。这意味着你将浪费大量的磁盘空间。
出于这个原因,使用InnoDB和innodb_file_per_table
禁用可以提高磁盘空间的效率,因为所有表都将合并到一个物理表空间文件中。
同样,这只是表使用的一个方面。如果不提供更多信息,您无法获得有关权衡的完整答案。
重新提供您的其他信息:
MySQL可以扩展到数亿行。只是为每个用户插入数十万行并不意味着你需要拆分表。
您还可以通过user-id定义一个带有PARTITIONING的表(这将创建多个物理表,但如果需要,您可以将整个表作为一个表)。