Model.pluck(:id, :name, ...).find_in_batches(10_000) do |ary| CSV.open("tmp.csv", "ab") do |csv| csv << ary.map{|a| a.join ','}.join("\n") end end