2011-08-17 9 views
1

かなり標準的なブログ/記事/コメントタイプの設定では、(以前の活動によって決定された)ユーザの興味に合わせたコンテンツを提供する最もエレガントな方法は何ですか?セッションごとのユーザ固有のコンテンツ提案[MySQL/Web]

記事用のタグシステムが存在するので、実際に必要なのは、各ユーザーが読んだりコメントしたりする記事のタグを追跡することだけです。これはユーザーのセッションにこの情報を書き込むだけで非常に簡単ですが、推奨事項がセッションに依存しないようにサイトデータベースでモデリングする最良の方法は何ですか?ユーザーが1つの物としてタグ付けされた4つの記事を読み、2つのタグが別のタグとしてタグ付けされている場合、システムは、ユーザが次にメインページを見るときに、

どのようなデータモデルがこれを最もよく行うことができますか?ユーザーテーブルに1トンの余分なフィールドを持つことは非常に面倒です。

答えて

0
CREATE TABLE interests (user_id int, tag varchar(25), weight int); 

何かがそうです。各ユーザーのタグごとに1行。ユーザーがそのタグで何かを読んだりコメントしたりしたときに重みを付け加える。

+0

グローバルタグテーブルがあるので、user_id、tag_id、およびweightを使って何かを設定するのは簡単ですが、そのテーブルはかなり大きくなります。 user_idでテーブルのインデックスを作成し、ユーザーがログインしたときにデータを取得すると、十分に速くなるでしょうか? – cdnza

関連する問題