数据量太大

jackyxfl 2010-04-22 02:35:12
我有一个站内短息 收件箱 和发件箱而且用户量 为 一百万,现在有个问题 就是管理向 这一百万用户 同时发送一条系统消息,那么数据库里就产生了两百万条相同的数据量太大了有没有好的数据库设计方法。(即收件箱、发件箱都各有一百万,所以有二百万知。)
...全文
131 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengboxjtu556 2010-04-24
  • 打赏
  • 举报
回复
为管理员发的系统信息专门建一个表即可
ACMAIN_CHM 2010-04-22
  • 打赏
  • 举报
回复
很少这样设计的,建议你可以参考一下DZ的的设计方法。
crazylaa 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jackyxfl 的回复:]

引用 5 楼 crazylaa 的回复:
管理员发的短信消息,加个发送时间字段。用户那边加个读信时间字段,如果用户读了就默认所有短信都读取了,把时间改了。不过这样不能做到一一对应。
比如 短信表:id=100, msg_create_time='2010-04-20 12:00:00',id=99, msg_create_time='2010-04-20 07:00:00'
用户配置表:r……
[/Quote]

弄个短信表给管理员专用啦,所有用户都往这张表读短信,读过的修改用户自己的配置表。用户的收件箱发件箱都不保存短信记录,以时间来区分已读和未读。
jackyxfl 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 crazylaa 的回复:]
管理员发的短信消息,加个发送时间字段。用户那边加个读信时间字段,如果用户读了就默认所有短信都读取了,把时间改了。不过这样不能做到一一对应。
比如 短信表:id=100, msg_create_time='2010-04-20 12:00:00',id=99, msg_create_time='2010-04-20 07:00:00'
用户配置表:read_msg_time = '2010-04……
[/Quote]
可以说清楚一点吗?这个不太清楚哦。
jackyxfl 2010-04-22
  • 打赏
  • 举报
回复
不是的,我的意思是,我发消息的时候,向表中插入了二百万条记录,我应该如何可以设计,避免这种错误呢?
crazylaa 2010-04-22
  • 打赏
  • 举报
回复
管理员发的短信消息,加个发送时间字段。用户那边加个读信时间字段,如果用户读了就默认所有短信都读取了,把时间改了。不过这样不能做到一一对应。
比如 短信表:id=100, msg_create_time='2010-04-20 12:00:00',id=99, msg_create_time='2010-04-20 07:00:00'
用户配置表:read_msg_time = '2010-04-20 08:00:00'
只要在用户登录时,msg_create_time>=read_msg_time的短信都显示。用户点了链接,则把read_msg_time设为now().
不过如果要做到一一对应,这个方式可不行。这只能做个大概的。
vipper23 2010-04-22
  • 打赏
  • 举报
回复
发件人,收件人,消息内容
看发件箱的时候只要select 消息内容 from tb where 发件人=123 and ...order by ...
看收件箱的时候只要select 消息内容 from tb where 收件人=456 and ...order by ...
。。。
jackyxfl 2010-04-22
  • 打赏
  • 举报
回复
可是他们是同一条信息哦,就是说,我发了一百万条数据,收到一百万数据,这样就生成了二百条数据
jackyxfl 2010-04-22
  • 打赏
  • 举报
回复
我用的是Mysql
zhangbaozhang 2010-04-22
  • 打赏
  • 举报
回复
考虑哈分区

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧