Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前有一个拥有大量用户的数据库,并且正在寻找一种基于一定数量的事物将它们全部配对的方法。
随机遍历用户数据库并将它们相互配对的最佳方法是什么?确保没有人错过,并且你这样做的时候一切都是随机的。
有没有人有过这方面的经验?任何帮助将非常感激。
可能有很多方法可以做到这一点,但是如果数据库可以处理随机查询,您可以像这样抓取所有用户(其中 RANDOM() 是您的数据库的随机函数)
User.order('RANDOM()').in_groups_of(2) do |a,b| # code to match user a to user b end
您必须处理奇数个用户,上述方法效率不高,但它会起作用。