Ruby on rails 在Rails ActiveRecord中按ID选择数千行
我试图从Rails中的ID列表中选择数千行。在rails中,基本上有没有一个很好的方法来解决这个问题: 比如:Ruby on rails 在Rails ActiveRecord中按ID选择数千行,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我试图从Rails中的ID列表中选择数千行。在rails中,基本上有没有一个很好的方法来解决这个问题: 比如: big_array = [1,3,53,68,...,100003,100040] users = User.find(big_array) 我想用 然后对导入的数据执行联接。但是,如果它已经存在,我不希望重新设计它。如果ID已排序,则将其分组并分块查询(如果未排序,则对其排序): 如果ID已排序,则将其分组并分块查询(如果未排序,则对其排序): 每个_片(纯ruby)的性能可能比
big_array = [1,3,53,68,...,100003,100040]
users = User.find(big_array)
我想用
然后对导入的数据执行联接。但是,如果它已经存在,我不希望重新设计它。如果ID已排序,则将其分组并分块查询(如果未排序,则对其排序):
如果ID已排序,则将其分组并分块查询(如果未排序,则对其排序):
每个_片
(纯ruby)的性能可能比的_组中的要好(顺便说一句,rails方法在内部使用每个_片
)
你从哪里得到的big_数组
?
可能有一种更为惯用的解决方案,即每个片(纯ruby)的性能可能会优于
组中的(顺便说一句,rails方法在内部使用每个
)
你从哪里得到的big_数组
?
可能有一种更为惯用的解决方案,使用Whoops,忘记了告诉rails不要用nil填充组的false参数。Whoops,忘记了告诉rails不要用nil填充组的false参数。大数组通过RSRubybig从R出来通过RSRuby
lots_of_ids.in_groups_of( 100, false ) do |ids|
models = MyModel.find( ids )
models.do_whatever_you_want_with_them
end
big_array.each_slice(1000) do |ids|
users = User.find(ids)
...
end