我的网站由一个内置消息系统组成,用户可以将消息发送给其他用户并在网站中查看。这是某种Facebook消息,但它不使用电子邮件地址,只是用户对网站内的用户类型的消息服务。内置消息系统,所有成员的管理员
此邮箱表的我的列是mailbox_id,memberid,sender_id,sent_date,主题,正文,is_unread,is_read,is_deleted。
当用户(MEMBERID = 1)发送给另一个用户(MEMBERID = 2),则mailbox_id将是一个自动递增,MEMBERID将所述接收器的ID和SENDER_ID将用户谁发送消息,该消息是“memberid = 1”。希望你明白这一点。
但是,这里出现了我的问题。如果我是管理员用户并且希望向我的网站中的所有成员发送邮件,我不知道如何将其存储在我的表中。我当然可以为每个成员创建每条消息。假设有1000个成员,那么表中会有1000个新的行。我怎样才能避免这样做?我只想在该表中创建一个新行,并且所有用户都可以看到此消息。
我正在考虑使用memberId = 0,并且所有成员都可以看到此消息,因为没有会员使用该id = 0。但是,如果有一位成员删除了按摩,我该如何追踪?或看到那个消息? “is_deleted”列只能由一个用户使用。 1 =已删除,0 =未删除。
请帮忙,谢谢。
如果我创建deleted_by和seen_by字段,它会让我的数据库变慢吗?比方说,如果我有100万用户,并将所有数量的数字存储到该列中?谢谢 – nodeffect 2014-08-28 04:13:57
它可能会影响速度,但非常标称。看看数据类型[TEXT和BLOB](http://dev.mysql.com/doc/refman/5.5/en/blob.html) – 2014-08-28 04:32:58
谢谢。我想这是我现在唯一的解决方案。 – nodeffect 2014-08-28 06:22:16