İçeriğe geç

Büyük Sonuç Parçalanmadı (ARCH6062)

Anahtar ruby.orm.large-result-not-chunked · Önem info · Kategori orm

Tüm büyük sonuç kümesini belleğe yükleyip sonra gezmek, find_each gibi bir streaming/chunk API varken milyonlarca satırı aynı anda belleğe çeker.

User.where(active: true).each do |user|
Mailer.notify(user).deliver_later # tüm sonuç belleğe yüklenir
end
User.where(active: true).find_each(batch_size: 1000) do |user|
Mailer.notify(user).deliver_later
end

Büyük sonuçları find_each/in_batches ile parça parça gezin; tümünü belleğe yüklemeyin.