1

私の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を使用することだと言っています。

4

0 に答える 0