私はHow to implement the activity stream in a social networkからユーザー投稿の1つに基づいて活動システムを構築しようとしていました。私は別のテーブルに返信コメントを入れるべきかどうか、私は同じテーブルに保持する必要があるのだろうかと思っていました。 btwの返信は、Facebookのどのアクティビティにも返信するのと同じで、そのすぐ下に表示されます。だから私はそれを別にしておくと、クエリが遅い、いいえ読み込まれると思いますか?アクティビティのコメントは新しいテーブルにあるか、同じテーブルにあるべきですか?
答えて
私はコメントは別のテーブルに入れるべきだと思います。 1つのアクティビティに対して複数のコメントが存在する可能性がありますので、このコメントテーブルには1 < - > *の関係が必要です。アクティビティーとコメントに同じ表を使用する場合、この表に親を追加することが可能でなければなりません。親=アクティビティ、子=コメント。
アクティビティのストリーミングでは、実際にデータベースの正規化を行うことはできません。あなたが私が投稿したリンク上の例を見てください。彼らはパフォーマンスの問題のためにテーブル間の関係を切ったので、パフォーマンスについて覚えておく必要があります。これは実際にフィードをビルドしているので、これをすぐに実行する必要があります – Basit
可能。それをモジュール式に構築する。あなたが実際のデータや適切なテストセットを持っているときに、それが十分にうまくいくかどうかがわかります。そうでなければ、その部分を置き換えたり、キャッシュ、メモリインデックスなどを追加することができます。デザインが最初からスピードに合わせて最適化されていれば、変更するのがずっと難しくなります。 – Christian
- 1. 異なるテーブルの同じデータが同じビューにある
- 2. JBPMテーブルは別のデータベースにあるべきですか?
- 3. 他のテーブルから同じテーブルを更新するmysqlトリガ
- 4. SQL:同じテーブルからの代替値で更新テーブル値は
- 5. Mysql - 新しいテーブルに行が存在しない場合、あるテーブルから別のテーブルに移動する
- 6. SQL:同じテーブルに複数の一致がありますか?
- 7. 同じテーブルに複数の外部キーがありますか?
- 8. SQLite古いテーブルにある新しいテーブルのデータから削除
- 9. 更新方法テーブル結果を同じテーブルに更新しましたか?
- 10. テーブルから同じテーブルに同じ列にフィールドをコピー
- 11. 同じテーブルの列にある行のレコードを表示する
- 12. 同じ構造のテーブルが多いか、多くの行があるテーブルが1つ多いのですか?
- 13. テーブルをトリガーして同じテーブルを更新するにはどうすればよいですか?
- 14. 親テーブルと子テーブルを同じテーブルにコピーしますか?
- 15. 異なるHSQLDBテーブル内の同一列が同じである
- 16. Liquibase:同じテーブルの新しい列に列データをコピーする
- 17. SQLデータベースでは、1対1の関係が同じテーブルにある場合と、別のテーブルにある場合はいつですか?
- 18. mysqlの最適化:現在の注文と前の注文は別のテーブルにあるか、同じテーブルにフラグの列があるはずですか?
- 19. 同じテーブル内のRowParentIdの制約はありますか?
- 20. 同じテーブル内のある行から別の行にデータをコピーするSQL
- 21. MYSQL同じテーブル内からの更新
- 22. postgres - 24時間の挿入後にあるテーブルから別のテーブル(同じスキーマ)にレコードを移動する
- 23. 同じデータベースにある同じ名前の複数のテーブルを持つMySQL
- 24. 別のテーブルのある列から同じテーブルの複数の列にデータを挿入する
- 25. CakePHPの同じテーブルにあるHABTMの関係
- 26. 同じ列の異なるテーブルをあいまいにすることなく
- 27. 更新テーブルの行別の行と同じテーブルから
- 28. 同じ部門にいるテーブルの名前を調べるsql
- 29. 更新日時のあるテーブルから別のテーブルにデータをコピーする
- 30. NULLであり、同じ日付のテーブルから行を削除
データベースを設計する際のパフォーマンスについては決して考えないでください。これはまれに問題になることはほとんどありません。データベースはそのようなものに最適化されています。パフォーマンスの問題が発生した場合は、dbデザインを修正するために他の方法があります。 – Christian