用户的详细资料是否需要单独做一个表

业务是社交,会有很多资料信息 比如 身高、体重、工作、薪资等20多个字段
当前user表 包含了邮件、电话、性别、头像、昵称等比较常规的一些资料,我是否需要把上面20多个资料都建立在这个user表上,还是单独设立一个表。
不知道拆分和不拆封后续有什么优缺点

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

放在 user 表中:

优点:查询「身高」「体重」等这些信息,减少关联查询,减少数据库查询次数

缺点:字段过多,反而导致查询 user 表性能下降

放在单独表中:

优点:查询 user 表信息较快

缺点:查询「身高」「体重」等这些信息需要写关联关系,代码中容易出现N+1问题

3年前 评论
臭鼬 (楼主) 3年前
24K大白羊 3年前

单独表+1 什么社交产品呀!!

3年前 评论
臭鼬 (楼主) 3年前
Hesunfly

我觉得可以分开存储,这些详细资料一般是冷数据了吧,数据一般情况下查询的次数也比较少,改动的机会也少,是在不行加缓存

3年前 评论
臭鼬 (楼主) 3年前
Hesunfly (作者) 3年前
LiamHao 3年前
Hesunfly (作者) 3年前

支持垂直拆,所有的工作前期不要怕麻烦,后续迭代的时候会很轻松的。

3年前 评论
陈先生

需要 等你后面要加字段慢慢加的时候你就知道心态爆炸四个字怎么写了 ,打开你的user表 ,好家伙,找个字段找半天

3年前 评论
臭鼬 (楼主) 3年前

冷热数据垂直拆表

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!