如何处理MySQL太多表的麻烦?

时间:2016-02-19 09:38:07

标签: mysql database resources

我正在构建用户可以导入其应用程序的应用程序。对于用户导入的每个应用程序,他都可以选择导入其用户。此外,他还能够将自定义字段添加到存储用户的表中。当我提出为每个用户应用程序创建一个新表的解决方案时,我的负责人告诉我,这不是一个好的解决方案,因为会有太多的表(1000个应用程序2000表)。现在我想知道这个MySQL资源问题的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

您有一个核心用户表,其中包含最常见的字段(ID,用户名,密码,电子邮件,应用程序ID等),其中应用程序ID区分不同应用程序的用户。

您创建了一个属性定义表,其中您具有应用程序ID,属性ID和属性名称字段作为最小值(如果其他表也是可扩展的,那么您应该有一个字段标识属性所涉及的表)。 / p>

您还需要一个属性表来保存实际的属性值。如果多个表是可扩展的,那么您可以考虑使用多个属性表。属性表将至少具有应用程序ID,用户ID,属性ID,属性值字段。属性值字段应具有常规数据类型,例如varchar,因为您可以将几乎所有数据类型存储为文本。

这样您就可以避免为每个应用程序创建单独的用户表。缺点是检索和编辑用户数据会更复杂。