实现使用PHP和MySQL中的“跟随”用户功能(Implementing a “Follow” us

2019-10-28 19:55发布

问题:我在一类的电子商务平台,具有卖方和buyers.Now在我的情况下工作的卖方也可以是买方,即每个用户都可以买到加卖。
所以我有一个单一的表称为用户 。现在我想实现一个后续的供应商/用户功能,其中用户可以点击跟踪 ,他认为他的帐户下的供应商列出的所有商品(直到他unfollows)。

现在我的传统的办法是有,有一个关键的两列存储跟随和遵循如表: |id | userId| vendorId |id | userId| vendorId
因此,作为用户对以下others.But去,如果我有以下的很多人(比如100)我的查询可能需要大量的时间来选择100个记录每个用户的用户就会去水平。

问:我怎样才能实现后续机制是否有比这更好的办法我使用PHP和MySQL?

Reasearch:我试着要通过Facebook和Pinterest的如何处理它,但似乎有点太比格对我来说,现在学习,因为我不希望尽可能多的用户immedeately。 我需要使用内存缓存以提高性能,并避免重复查询?我可以在任何意义上并联使用mysql 文档数据库

我想一个简单但功能强大的执行,如果我的用户群逐渐发展到几千个,将规模。

任何帮助或洞察力将是非常有益的。

Answer 1:

因为,从我这个场景的理解,用户可以遵循许多供应商和供应商可以有很多的追随者,这构成了许多< - >一对多的关系,因此,只有标准化的方式在数据库模式应该是通过实现这一目标使用链接表,完全按照自己的描述。

至于性能方面的考虑,我不会太担心它,因为它可以在帐户及厂商ID进行索引,查询应该罚款。



Answer 2:

结合表可能是最好的办法,但仍然在很大程度上取决于你的聚集索引 。

  • 表上的替代密钥ID可以增加新的一键集群记录快一点。

  • 表一键(用户ID,厂商ID)clusetered会让你往哪里看的厂商查询某个用户更快如下

  • 表用钥匙(厂商ID,用户id)集群会让你往哪里看为按照一定的供应商更快的用户查询


文章来源: Implementing a “Follow” user feature using PHP and Mysql