0

我目前有一个拥有大量用户的数据库,并且正在寻找一种基于一定数量的事物将它们全部配对的方法。

随机遍历用户数据库并将它们相互配对的最佳方法是什么?确保没有人错过,并且你这样做的时候一切都是随机的。

有没有人有过这方面的经验?任何帮助将非常感激。

4

1 回答 1

0

可能有很多方法可以做到这一点,但是如果数据库可以处理随机查询,您可以像这样抓取所有用户(其中​​ RANDOM() 是您的数据库的随机函数)

User.order('RANDOM()').in_groups_of(2) do |a,b|
  # code to match user a to user b
end

您必须处理奇数个用户,上述方法效率不高,但它会起作用。

于 2013-10-09T01:31:57.450 回答