I would like to provide a new feature on Rails that consist on the use of pluck when using find_each/find_in_batches to speed up the loop when is not need to access to active record instances.
Do you think this could be incorporated in Rails? For the moment I’m going to implement a solution for our use case on a Rails 3.2 app
I find one of the most frequent uses of find_each/find_in_batches is looping through a large collection in order to queue up a list of ids for a background job to process. e.g. queuing up a big list of user ids to send an email to. Would be nice to avoid the overhead of AR objects and just do something like:
Best solution that I found so far (only 1 query per batch, only select ids) is to use select(:id).find_in_batches, however it unnecessarily instantiate the ActiveRecord objects… We would need something like “pluck_in_batches” to improve that.