我看到许多实现,例如Facebook喜欢,论坛业力,在论坛帖子上阅读标记,以及给定项目的多个用户可用的其他简单选项和选择。
我知道我可以在mysql中通过创建一个表来实现这一点,该表将发布ID与liker用户ID相关联,比如系统。
我的问题是,在包含大量帖子的网页上,我将不得不对每个帖子进行查找。我使用预备语句,这样我就可以更快。
是否有另一种实现这些系统的方法,如果没有,是否有像数据库类型或其他调整这样可以加快这种速度的优化?
基本上,是否存在多个数据库交互的强大,快速实现。
的 的 *编辑*** 我正在使用opera mini,因此我对ajax和js的问题进行了评论
现在,我有一个有两列的表。一个用于用户ID,另一个用于post id。两者都被索引并用于外键约束。 我正在考虑在两者之间制作复合主键。
我的主要问题是因果报应。我允许用户对每个帖子进行投票。问题是,对于每个帖子,我需要获得总票数,确定用户是否投票允许用户投票。
我的网站允许许多用户托管他们自己的网站,因此我需要认真优化这一点。
有人建议我使用内存表。
注意* * 的 我不能使用memcached。
答案 0 :(得分:2)
我强烈建议使用除MySQL数据库之外的其他内容。我编写了一个opensocial应用程序,它对数据库进行了大量写入和读取操作。这一切都始于MySQL DB,我甚至切换到专用的主从复制设置。但无济于事,价格昂贵,而且规模不大。
最终的解决方案是使用NoSQL db,它可以充分利用RAM。我的决定是mongoDB,它有一个活跃的社区,很好地解决了我的问题。 MongoDB证明具有高度可扩展性。
答案 1 :(得分:1)
到目前为止,你仍然有点朦胧,但我会启动它并继续添加东西,如果需要的话:
e.g。 SELECT * FROM user_liked WHERE post_id IN (1,2,3)
而不是
SELECT * FROM user_liked WHERE post_id = 1
答案 2 :(得分:0)
Philipp Keller几年前就基于MYSQL的标签系统撰写了大量文章。就像喜欢一样,标记正在建立事物(标记,被喜欢的文章)和用户之间的多对多关系。他的文章中的逻辑也应该直接适用于你的问题。
查看评论。