2011-06-18 5 views
0

私は好き嫌いの投票システムを開発しました。記事テーブルに好き嫌いの数を保存するのはどうですか?

非常にシンプル、article_idにある投票テーブル、vote_type(-1または+1)SELECT SUM(vote_type) FROM vote WHERE vote_type = +1

二避けるように私はイベント/リスナーシステムを使用して、私の記事のテーブルでその数を格納するためのアイデアを持っていました。

あなたはどう思いますか?

答えて

3

もの(非正規化)を行うこのタイプのパフォーマンスは、データの整合性よりもはるかに重要である非常に標準的であると今のようなテーブルを持っている必要があります。だから、あなたのケースでは、ページの「好き」のカウントが何らかの理由でややオフになっても本当に気にしないので、それを行うことはOK以上です。

しかし、好きな人、タイムスタンプなどの情報も保存したい場合は、1行ごとに好きなものを保存する必要があります。上の段落で説明した内容を決して無効にしないでください。

+0

私は説明が間違っているかもしれませんが、実際には投票表を保持することですが、投票数が多いため、増分を格納したいと思います。何らかの理由でそれが正しくないならば、私は毎晩cronを実行してカウントをreajustするかもしれません! – JohnT

+0

@JohnT:最初の段落だけが適用されます。計画通り進んでください。 :) – Jon

+0

ありがとうございました!私のテーブルに4つのニュースコラムを持つのは悪いですか? (vote_up、vote_down、selection_up、selection_down)テーブルが大きくなりすぎると悪くない(カラム番号povで意味する) – JohnT

2

これまで問題を使用するシステムは変更されません。
は、あなたはまだarticle_id, vote_type (-1 or +1)

関連する問題