Issue
I have a table A(:name, :address, :phone)
consisting of 500,000 entries. I want to run this query :
johns = A.where(:name => "John")
This query should return 150,000 results. But running this query gives me this result : Killed
.
How should I rewrite this query so that the query runs on batches of 1000 in the database?
Solution
You need to use find_each
with the option batch_size.
A.where(:name => "John").find_each(batch_size: 1000) do |a|
# your code
end
Answered By – Arup Rakshit
Answer Checked By – Marie Seifert (BugsFixing Admin)