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

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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 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年前 评论

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