为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL 数据库 统计 表设计问题

MySQL 数据库 统计 表设计问题

白猪掌柜的 2019-04-19 16:12:53
比如一个帖子有转发、评论、赞、踩等这个应该是在帖子表里面有一个总数,还是直接另外一个表,用户转发一次添加一条记录,然后需要的时候来统计?sqlDROPTABLEIFEXISTS`tz_tz`;CREATETABLE`tz_tz`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`title`varchar(255)NOTNULLDEFAULT'',`description`text,`category_id`varchar(255)DEFAULT'',`created_at`int(10)unsignedNOTNULLDEFAULT'0',`updated_at`int(10)unsignedNOTNULLDEFAULT'0',`like_count`bigint(20)unsignedNOTNULLDEFAULT'0',`comment_count`bigint(20)unsignedNOTNULLDEFAULT'0',`repin_count`bigint(20)unsignedNOTNULLDEFAULT'0',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=15DEFAULTCHARSET=utf8;
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

个人觉得统计用的字段要放到另外一张表中,这样符合数据库设计规范,另外,统计的数更新可以在mysql中加触发器,每次操作更新count
                            
查看完整回答
反对 回复 2019-04-19
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

首先每次显示这些总数都去查表count一下不太合理,我建议这些字段还是需要单独记录。记录的方式看你对数据统计的实时性要求高不高高的话每次操作完就更改不高的话可以定期定时任务统计一下比如一小时、一天等。至于是否放在一张表,看你是否经常用到这些数据,如果不是经常需要跟随这个帖子用到,一般还是分开比较好。
                            
查看完整回答
反对 回复 2019-04-19
  • 2 回答
  • 0 关注
  • 1033 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信