我有两张表,一张存储文章和它收到的票数:
| article_id | visitor_votes | member_votes | voting_opened |
-------------------------------------------------------------
| 1 | 12 | 394 | Y |
| 3 | 94 | 5821 | Y |
我还有另一个表格,它记录了哪个用户投票给了哪篇文章
| vote_id | user_id | article_id | date |
--------------------------------------------
| 1 | 12 | 1 | 7/28/2012
| 2 | 23 | 3 | 7/28/2012
一位用户每笔交易只能投一票。我目前使用的触发器会在每次将记录插入投票表时增加文章表中的投票数。这是一个好的做法还是我应该在我的应用程序(基于 PHP Web 的网站)中这样做?我也想在达到一定票数后停止投票(voting_opened = N),我是否应该使用触发器检查总票数(visitor_votes + member_votes >= 6000)然后更新文章行以设置voting_opened = N?或者这也是我应该在我的应用程序中做的事情?我需要一个可扩展的解决方案,因为我可能会为数百篇文章获得数千票,而且我不想遇到投票数超过阈值的情况,因为更新没有足够快地更新管他呢。
谢谢!