2011-06-18 54 views
0

我開發了一個喜歡/不喜歡的投票系統。如何在我的文章表中存儲喜歡和不喜歡的數字?

很簡單,表決表,其中有article_id的,vote_type(-1或+1)

兩個避免這種SELECT SUM(vote_type) FROM vote WHERE vote_type = +1我有想法存儲使用事件/監聽系統在我的文章表計數。

您對此有何看法?

回答

3

這種處事(非規範化)的是,當性能遠遠超過數據的完整性更重要的一個非常標準的做法。因此,恕我直言,你可以做更多的事情,因爲你並不關心一個頁面的「喜歡」數是否由於某種原因而略微關閉。

但是,如果您還想保存諸如喜歡什麼,時間戳等信息,那麼您可能需要一次一行地存儲喜歡的內容。這絕不會使我在上面段落中所述的內容無效。

+0

嗯,我可能會誤解釋,這個想法實際上是保留投票表,但僅僅因爲投票計數很重,我想存儲增加計數。如果出於某些原因,我可能會每天晚上運行一次cron來重新計數! – JohnT

+0

@JohnT:那麼只有第一段適用。按計劃行事。 :) – Jon

+0

好的,謝謝!在我的桌子上放4個新聞專欄會不好? (vote_up,vote_down,selection_up,selection_down)是不是很糟糕,當一個表變得太大(在列號pov我的意思) – JohnT

2

您將使用此事的任何系統都不會改變。
您仍然需要有一個表像現在article_id, vote_type (-1 or +1)