23

我想知道,
在许多网站上都有喜欢/不喜欢帖子的选项。
当然,即使在这里,在stackoverflow。

所以,从技术上讲,这是一张大赞表?

user_id    post_id

user_id - 谁投票
post_id - 这是哪个帖子

这就是全部吗?
大赞表?
没有更有效/更复杂的东西吗?

4

2 回答 2

20

在最基本的层面上,是的,就是这样。

但随后它开始扩展,试图回答以下问题:

  • 用户有多喜欢这篇文章?
  • 他们什么时候喜欢这个帖子?
  • 他们是怎么找到这个帖子的?
  • 他们对帖子发表评论了吗?
  • 整个小组/社区如何喜欢这个帖子

然后您开始想要回答有关朋友和社区的更深入的问题。

于 2012-08-04T12:35:47.090 回答
9

我想我能理解你的担心。每次需要显示页面时都必须发出 COUNT() 。

您当然必须拥有这个基本表,这将是 COUNT() 的基础,但您实际上并不需要对每次访问都进行 COUNT() 操作。

创建一个总计表并在页面收到喜欢或不喜欢时使用触发器或调用存储过程来不时更新它。

我会说每种方法都更适用于不同的网站个性,即更多的阅读或更多的写作,但你已经知道,当谈到喜欢或不喜欢时,没有什么是可以预见的。

于 2012-08-04T13:21:34.357 回答