1

ユーザーの「投稿」を保存するにはどうすればよいですか? データベースからそれらを効率的に取得し、特定のユーザーページが要求されたときに時系列で表示するように処理できますか?

次のように、すべてのユーザーからのすべての投稿を単一のテーブルに保存しますか?

Post ID | Poster ID | Post Content | Posted to this Users Wall | Post Timestamp

次に、ユーザーが UserFoo のページを開くと、すべての行が取得されますPosted to this Users Wall = UserFoo

上記のサンプルでは、​​テーブルがかさばりませんか?

4

2 に答える 2

2

あなたが提案するレイアウトは妥当に見えます。5 列 (4 つINTの と 1 つのTEXT) は、まったく「かさばる」テーブルではありません。

適切なインデックスがあれば、クエリWHERE "Posted to this Users Wall" = "UserFoo"は事実上瞬時に実行されます。

ターゲット クエリ (現在のユーザーのウォールに送信された投稿を時系列で表示する) の場合、最適なインデックスはおそらく on (Posted to this Users Wall, Post Timestamp)(2 列のインデックス) です。

于 2013-06-21T13:18:17.057 に答える