这似乎很有趣。
假设三个表 ,users和items一个连接表users_items。后者将users.ids 链接到items.ids。当表中有一行包含对 ( , )时,我们说用户U拥有项目。Iusers_itemsU.idI.id
现在:我将如何随机选择特定用户尚未拥有的项目?
最可行的解决方案似乎是:
- 收集所有项目
id。 - 收集
id用户拥有的物品U。 id从 #1 中生成的集合中删除步骤 #2中的所有s- 从结果集中选择随机元素(微不足道)
这是唯一理智的方法吗?是最优的吗?让我们假设这将是一个被大量使用的功能。而且每个表中的元素数量巨大。
有什么有趣的想法、想法吗?