2016-10-08 9 views
0

私は小さなソーシャルネットワーキングサイトを構築していますが、データベーススキーマに関する疑問があります。ソーシャルメディアポストを格納するデータベーススキーマサンプル

投稿はどのようにして保存するのですか?

私は別個のPOSTテーブルを持ち、USERS_POSTテーブルを介してUSERSテーブルとリンクします。

しかし、ユーザーのプロフィールにすべての投稿を表示するたびに、システムはUSER IDのUSERS_POSTテーブル全体を検索してから?

他に何をすべきですか?

同様に、ユーザーが作業や学習した複数の場所をどのように保存する必要がありますか?

私はそれが広く理解していますが、私はデータベースに新しいです。 :)

答えて

0

最初に気にする必要はありません。まず動作させてから、パフォーマンスの問題が発生する場所を確認してください。データベースの方がはるかに速く、期待しているかもしれません。また、実際のクエリが遅すぎる場合には、最善の解決策が何であるかを確認する方がはるかに簡単です。

あなたのデザインに関して、投稿が複数のユーザにリンクされていない場合は、USERS_POSTテーブルを忘れて、POSTテーブルにユーザIDを入れてください。いずれの場合も、データベースが大きくなると、ユーザーIDのインデックスが役立ちます(テーブル全体を読み取る必要はありません)。

追加のテーブルに保存する単一ユーザーの複数の場所。たとえばUSERS_PLACESという名前のカラムには、USERSに加えて1つの場所に保存するデータの他のカラムにリンクするカラムuser_idを付けます。

BTW postgresqlでは、常に "USERS"のように引用符をつけない限り、すべてのオブジェクト(テーブル、カラム、...)の名前を小文字にしておきたい場合があります。

関連する問題