method
find_each
v4.0.2 -
Show latest stable
-
0 notes -
Class: ActiveRecord::Batches
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0 (0)
- 3.0.9 (-1)
- 3.1.0 (0)
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (6)
- 4.1.8 (38)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (14)
- 5.1.7 (4)
- 5.2.3 (6)
- 6.0.0 (0)
- 6.1.3.1 (3)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (10)
- 7.1.3.4 (0)
- What's this?
find_each(options = {})
public
Looping through a collection of records from the database (using the all method, for example) is very inefficient since it will try to instantiate all the objects at once.
In that case, batch processing methods allow you to work with the records in batches, thereby greatly reducing memory consumption.
The #find_each method uses #find_in_batches with a batch size of 1000 (or as specified by the :batch_size option).
Person.all.find_each do |person| person.do_awesome_stuff end Person.where("age > 21").find_each do |person| person.party_all_night! end You can also pass the +:start+ option to specify an offset to control the starting point.