我用户表里有几个字段,如:登录次数,收藏次数,喜欢次数等等,这样的统计字段,大家觉得是跟User表设计在一块好还是单独设计一张UserCounter表来专门存这些统计字段分开好一点?
3 回答
GCT1015
TA贡献1827条经验 获得超4个赞
我的User系统分成了三级:
user表存储用户的基本信息,包括登录、状态、姓名、邮件、手机、积分、余额
user_info表存储用户的扩展信息,包括联系方式、个人描述,头像、等不会立即使用的信息
user_info表中有个TEXT类型的settings字段,存储各种扩展状态(序列化后的数组)
仅供参考。
繁花如伊
TA贡献2012条经验 获得超12个赞
适合需求的设计就是好设计,不必过早优化,怎么设计user表也是一样。怎么设计,取决于系统的需求、用的软件和架构。
在数据量不大、更新不频繁的情况下,何不就简放在一个表中,等一段时间用户数量级变化后,原始架构是否还能支撑新需求不可获知,再作优化或重构也行。
如果数据量大时,也还是要看需求对数据实时性和准确性要求高不高,都会有不同的设计。
冉冉说
TA贡献1877条经验 获得超1个赞
首先要考虑性能瓶颈在哪里。如果你的查询压力很大,而且分开以后会导致需要join才能得到数据,那么据不应该分开。
如果不会导致join查询,比较建议你分开。因为MySQL访问是按照页来访问的,分开意味着减少对其他字段的访问。 一个page可以放更多的数据,可以减少io压力和增加内存利用率。
添加回答
举报
0/150
提交
取消