我有一个庞大的表Foo,我需要从中获取某个字段中的所有值,Foo.who.
该数组有数百万行,但在who列中只有几千个不同的值.
如果表格当然较小我当然只是使用Foo.pluck(:who)
如果我使用Foo.find_in_batches do | a_batch |每个集合都是一个Foo记录数组,而不是Foo记录的activerecord集合,因此我不能使用.pluck()和AFAIK提取who列的唯一方法是通过迭代的.map(&:who)之类的东西在阵列上.
有没有办法从批处理中抽取Foo中的who列,而不需要迭代每个批处理的每个元素来提取who列?
最佳答案 试试这个:
Foo.select(:id, :who).find_in_batches do |a_batch|
...
end