不重复的热或非/ Tinder像流

时间:2014-10-18 11:10:53

标签: mysql sql database nosql

我试图大规模地构建一个非重复的内容流。例如。当用户对“个人资料”或“非热门”评级时,该个人资料将永远不会再次出现给同一个用户。

在MySQL中我会考虑像NOT IN (..)

这样的东西
SELECT * FROM profiles WHERE id NOT IN (1,2,3,4,5,6,7) LIMIT 1

每次用户与个人资料互动时,都会将其标记为“已读”。因此,上述查询尝试获取尚未读取的配置文件。这不会缩放,因为NOT IN将是无限的。

接下来我可以加入(我的SQL可能会关闭,但我希望它可以解决这个问题):

SELECT profiles.* FROM profiles, read WHERE read.user_id = 1 AND profile.id != read.profile_id LIMIT 1

我觉得这个解决方案也不理想,因为read的{​​{1}}行的数量将永远存在。

这是我需要考虑使用Map Reduce的NoSQL吗?

0 个答案:

没有答案