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.
Hatalı
Bölüm başlığı “Hatalı”User.where(active: true).each do |user| Mailer.notify(user).deliver_later # tüm sonuç belleğe yüklenirendUser.where(active: true).find_each(batch_size: 1000) do |user| Mailer.notify(user).deliver_laterendDüzeltme
Bölüm başlığı “Düzeltme”Büyük sonuçları find_each/in_batches ile parça parça gezin; tümünü belleğe yüklemeyin.