新手问题 该不该为了一个字段新建一张表?

egg_show · 2014年03月13日 · 最后由 Kabie 回复于 2014年03月13日 · 2801 次阅读

有一张表 A:统计的是每人每天留言数等信息... (用户 + 日期)是唯一的 新增功能:统计每人每天给多少个人留言了!(point:重复的人只算一个人)并且能够统计每人总计给多少个人留言了!!!!!!! 问题:a、表 A 新加一个 string 类型字段,用逗号将这些留了言的用户 ID 分开,在提交留言时取出该字符串,转换成数组再判断; b、新建一张表 B,保存新增统计信息,在提交留言时判断; 你们会怎么选择?

你可以放内存数据库里啊

#1 楼 @mjf429 为什么要放在内存数据库中啊,我不需要随时去取这些数据

如果数据变化频率高就放内存数据库里

直接在原表做 distinct 查询呢

......只是偶尔用的话……需要的时候再查询也无妨吧

#4 楼 @liuxingfeiyu @Kabie 但是是表 A 无法查询出给多少个用户留了言(重复的只算一个),只统计了当天该用户总的留言数

除了 a 表外 有没有具体留言的表 记录留言内容 时间 发送者 接收者?

用 redis 吧

不建议增加 string 字段来统计留言信息。采用 string 字段,数据库根本就没办法帮你验证数据的完整性。 首先你的留言表的设计是不是如下的结构: A from to messagecontent date?

可以增加新表,来保存用户 id 和对应的每天留言记录。 同时使用触发器,在新插入数据的时候来更新记录表。

留言数记录这张表是弱一致性的。也就是说,并不需求他一定要精确

#6 楼 @egg_show ....你的留言莫非是一次性的……不存数据库里么……

那我觉得表应该是用户对用户的关联表……

需要 登录 后方可回复, 如果你还没有账号请 注册新账号