私のdjangoWebアプリケーションでは、ユーザーは画像を投稿できます。次のシステムを作成する必要があります。つまり、ユーザーはtumblrのような他のユーザーの投稿をフォローできます。
ユーザー2はユーザー1をフォローしています。
user_id | following
1 | 2
ユーザー2が投稿を作成した後、このテーブルに投稿IDを保存します
tbl_user_stream
user_id| post_id| time
1 | 25 | 1337460925 # this post for user 2
1 | 26 | 1337460726
ユーザー1のストリームを表示する必要がある場合は、次のようなクエリを実行します。
SELECT * FROM posts p
INNER JOIN tbl_user_stream st on st.post_id=p.id
ORDER BY st.time DESC
このワークフローは正常に機能しますか、それとも新しいソリューションが必要ですか?この方法でのパフォーマンスはどうですか?
誰かが私に最善の解決策はmongodbのようなnosqlを使用することだと言っています。