我有一个巨大的表 Foo,我需要从中提取某个字段 Foo.who 中的所有值。
该数组有数百万行,但列中只有几千个不同的值who
。
如果桌子更小,我当然会使用Foo.pluck(:who)
如果我使用Foo.find_in_batches do |a_batch|
每个集合是 Foo 记录的数组,而不是 Foo 记录的 activerecord 集合,那么我不能使用.pluck()
和 AFAIK 提取列的唯一方法who
是通过类似.map(&:who)
的方法遍历数组。
有没有一种方法可以who
分批从 Foo 中提取列,而不需要遍历每个批次的每个元素来提取who
列?