特定のフィールドFoo.whoのすべての値を抽出する必要がある巨大なテーブルFooがあります。
配列には数百万の行がありますが、列には数千の異なる値しかありませんwho
。
もちろん、テーブルが小さい場合は、単に使用しますFoo.pluck(:who)
各セットを使用する場合Foo.find_in_batches do |a_batch|
、Fooレコードのactiverecordコレクションではなく、Fooレコードの配列であるため、列.pluck()
を抽出する唯一の方法は、配列を反復処理するようなものを使用することです。who
.map(&:who)
who
列を抽出するために各バッチの各要素を反復する必要のないバッチで Foo から列を取り出す方法はありますwho
か?