用于汇总多个表的表的数据库设计

时间:2015-10-31 18:27:36

标签: mysql database database-design

我的数据库有多个存储用户信息的表

  • 用户(user_id,姓名,电子邮件,电话,dob,图片)

所有其他个人资料详细信息都在不同的表中,user_id为外键

  • profile_work(一对多)
  • profile_education(一对多)
  • profile_emails(一对多)
  • profile_locations(一对多)

还有其他4个类似的表。

我的应用程序需要用户的详细信息,因此我将user_id的数组作为输入发送,并将所有用户的完整配置文件详细信息作为Json对象返回。

由于对用户配置文件的写入非常少且处理速度对于应用程序非常重要,我计划创建另一个表,该表组合了用户的所有数据并将其存储。每当任何配置文件表更改时,我都会更新此表。我会使用此表一次获取大约25个用户的数据。

新表的设计应该如何?

  

| USER_ID |名字|电子邮件|图片|基本的|工作|教育|

在每个coloumns(工作和教育)中使用json数据

  

| user_id | json |

将所有内容编译为json并插入表中

我的一些服务只需要姓名,电子邮件和图片,而其他人也需要工作和教育。

我将来需要思考和期待的问题是什么。

其他信息

  1. 我正在使用mysql
  2. 我的Db目前有100K个人资料
  3. 期望db在大约一年内达到大约1 Mn的配置文件,但将来需要进行扩展。

0 个答案:

没有答案