【发布时间】:2011-03-21 17:26:27
【问题描述】:
我看到了许多实现,例如 Facebook 点赞、论坛业力、在论坛帖子上标记为已读以及对给定项目的多个用户可用的其他简单选项和选择。
我知道我可以在 mysql 中通过创建一个表来实现这一点,该表将帖子 ID 链接到类似系统的类似用户 ID。
我的问题是,在一个有很多帖子的页面上,我必须对每个帖子进行查找。我使用准备好的语句,这样对我来说更快。
是否有其他方法来实现这些系统,如果没有,是否有优化,如数据库类型或其他可以加快速度的调整?
基本上,是否有强大、快速的多对多数据库交互实现。
*编辑*** 我正在使用opera mini,所以我在评论ajax和js时遇到了问题
现在,我有一个包含两列的表格。一个用于用户 ID,另一个用于帖子 ID。两者都被索引并用于外键约束。 我正在考虑在两者之间创建一个复合主键。
我的主要问题是业力。我允许用户对每个帖子进行投票。问题是,对于每个帖子,我需要获得总票数,确定用户是否投票允许用户投票或不投票。
我的网站允许许多用户托管他们自己的网站,因此我需要认真优化这一点。
有人建议我为此使用内存表。
注意** 我不能使用 memcached。
【问题讨论】:
-
到目前为止你有什么?
-
假设“喜欢”很少更改并且经常阅读,那么像 memcached 这样的系统确实非常、非常运行良好,并且可以非常快速地为一个页面查找 50 个项目。
-
+1 for memcache -- Facebook 甚至发布了他们使用的优化版本,最有可能用于这类事情。
标签: php mysql load performance