私はこれらのテーブルを持っています:メンバーがコミュニティ内に投稿できるもののタイプであるアイデアと投票(およびその他)。日時順に並べられた「アクティビティストリーム」にそれらすべてを表示する必要があります。これにより、メンバーは自分の「アクティビティストリーム」で、他のユーザーが投稿したものをすべてタイプに関係なく表示できます。周りを見回して、UNIONを使用していることがわかりましたが、この方法は遅すぎると言われました。投稿のIDとその日時を含むpostsという名前の別のテーブルを作成し、新しい投稿ごとに更新することを考えました。しかし、どちらの方法でも、新しいテーブルが必要になります。最善の方法は何だと思いますか?他の提案はありがたいです。
1 に答える
1
はい、「トムが質問した:__ in:__数分前」のようになります
したがって、ユーザー名、アクション、タイムスタンプ、および非表示のIDが必要です。
パフォーマンス面では、別のテーブルの方が優れています(結合を回避し、モーマライズする必要がない場合は結合する可能性があります)が、追加のストレージ(これは問題ですか?)と、このテーブルに新しいレコードを挿入するオーバーヘッド(小さな)。元のテーブルから各アクティビティの詳細を取得するためのスイッチの使用法に注意してください。
結論として、すべてはデータ量とトラフィックに依存します。
于 2012-06-17T12:10:26.997 に答える