我的網站由一個內置消息系統組成,用戶可以將消息發送給其他用戶並在網站中查看。這是某種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