0

管理者からメンバーに送信するメッセージ システムを構築する必要があります。これが私のデータベース スキーマです

ユーザー

id primary key
username varchar

メッセージ

id primary key
title varchar
contents varchar

受信者

id primary key
user_id int
message_id int
status varchar'read | deleted | .....'

メッセージを作成してすべてのメンバーに割り当てると、100 万人のメンバーがいると仮定すると、受信者は一度に message_id と user_id を持つ 100 万のデータを持つことになります。管理者がすべてのメンバーに頻繁にメッセージを送信すると、データベースはデータをかなり速く増やします。 、これに対処するためのより良い構造はありますか?

4

2 に答える 2

1

メンバーまたは数人のメンバーに単一のメッセージを送信することはまったく問題にはなりませんが、すべてのメンバーに何かを送信する場合は、メッセージング システムに追加のレイヤーを追加して、通知のようなものを実装することをお勧めします。メッセージも。

メッセージのステータス (既読、未読など) は失われますが、その場合はあまり重要ではないと思います。

たとえば UserID に割り当てられたメッセージがあった場合0、それをすべてのメンバーに表示するというロジックを追加することをお勧めします。もちろん、ある時点で削除する必要があるため、メンバーの邪魔にならないようにするか、この種の通知/メッセージにも別のスタイルを設定できます-たとえば、受信トレイの上にスタックするなど.

PS実際の質問には答えていませんが、別のアプローチも提案する価値があると思いました。

于 2013-11-14T08:29:54.733 に答える