最近看到公司数据库发现了这个问题,于是开始纠结其性能上得问题了。
user 表是分成user_info
(经常访问和操作)和user_profile
(只有在进个人页面才会操作)
还是说全都放到一个users
表里面去?
对于文章而言是把文章得内容单独放到一个表好,还是全都放到一起好?
各位走过路过请发表下自己得意见。
文章这个地方,之所以要拆,是因为文档内容是 text 类型的,数据会比较大,所以导致 sql 里每一行都变大,而 sql 是按行扫描的,所以这样影响效率。
数据量不大的话,不管是你说的 user 表还是 article 表,都放不要拆。
常用的做法是,个人不能随意修改的东西比如密码、邮箱、用户名等等放一个表。因为修改时比较麻烦,需要认证、发邮件什么的。其他可以随意修改的比如自我介绍等等放另外一个表。
好处是 profile 的部分用户修改时比较方便,你也不需要加入特殊的逻辑。稍微麻烦的地方就是经常要 include,不过也不是什么大问题。
性能没什么好考虑的,你遇到了瓶颈再说。