对不起,如果这之前已经问过,但我试过寻找类似的东西,但找不到任何东西。在php文件或通过mysql手动计算?
我有三个表:用户,爱好和user_hobbies(联前两个)。我想根据他们的爱好来计算两个用户之间的相似度。为此,我首先需要两套:用户A的兴趣爱好和用户B的兴趣爱好,我可以通过两个简单的查询获得这两种兴趣。我必须计算这两个集合的其他原因,在一个PHP文件,所以他们可用于我,在两个阵列中,为下一步:
我必须计算他们的共同爱好(即交集套)。
想法#1:有两个数组,我可以通过某种方法计算常见元素。
理念#2:我可以做一个第三个查询(例如SELECT hobby FROM user_hobbies WHERE user_id IN ('uid_A', 'uid_B') GROUP BY hobby HAVING COUNT (*) = 2
),而不是打扰自己。
我想我的问题是关于性能。手动计算还是更快?还是MySQL查询要快得多?
我建议,除非你知道速度是一个问题,你不必担心它,赞成与更清晰和更容易维护。 –