掲示板の速度を上げたい。テーブルからデータを取得しevent
ます。この時点で、events
MySQLテーブルは次のようになります
id | event_type | who_added_id | date
event
テーブルには、特定のイベントに関する情報を含む1つの行を格納します。ユーザーAが新しい通知を要求するたびに、クエリはテーブルを実行し、ユーザーBによって追加された通知がユーザーに適しているかどうかを確認します(同じグループのメンバーである友人である必要があります)。events
かさばるクエリのためにテーブルの読み込みが遅くなり、テーブルが大きくなりました。このデザインを完全に変更し、1つのイベント行を追加してから、ユーザーのイベントが適切かどうかを比較する代わりに、関心のあるユーザーと同じ数の行を追加することを考えています。次のようにテーブルevents
構造を変更します。
id | event_type | who_added_id | forwho_id | date
ここで、ユーザーBが他の50人のメンバーに関心のあるイベントを作成する場合、同じ情報で50行を作成し、「forwho_id」フィールドにこの通知を受け取る必要がある50人のメンバーについて言及します。クエリがはるかに単純になり、検索にかかる時間が短縮されると思います。どのように考えますか:1。これは、このような種類のデータを保存するための優れたアプローチですか、それとも重複データを回避する必要がありますか?events
2.関心のあるユーザーの数が50人ではなく、数百人になる場合、テーブルはどのように動作すると思いますか。
これを読んでくれてありがとう、そして私が自分自身を理解できるようにしたことを願っています。