İçeriğe geç

Döngü İçinde Yazma (ARCH6052)

Anahtar ruby.orm.write-inside-loop · Önem warning · Kategori orm

Döngünün her turunda save/commit çağırmak, her öğe için ayrı bir DB gidiş-dönüşü oluşturur. Bu, tek bir toplu işlem yerine N adet round-trip demektir.

names.each do |name|
User.create!(name: name) # her tur için ayrı INSERT
end
records = names.map { |name| { name: name } }
User.insert_all(records) # tek toplu INSERT

Satır başına kalıcılaştırma yerine kayıtları biriktirip insert_all gibi toplu bir API ile tek seferde yazın.