gpt4 book ai didi

ruby-on-rails - 将返回 500k 记录的 sql 查询快速转换为 csv (ruby on rails)

转载 作者:太空宇宙 更新时间:2023-11-03 17:52:03 24 4
gpt4 key购买 nike

我正在使用这种将 ruby​​ 对象转换为 csv 的方法。它适用于记录少于 5k 的对象,但一旦达到 250k 到 500k 记录,处理 csv 需要 30 分钟。关于如何使这个运行超快的任何想法?

def to_csv(result)
unless result.nil?
CSV.generate do |csv|
csv << result[0].attribute_names
result.each do |row|
csv << row.attributes.values
end
end
end
end

最佳答案

由于您的数据太大,可能存在 RAM 问题

Find_each() and find_in_batches({options})

为了结果而不是将所有记录加载到 RAM 中一次。 http://apidock.com/rails/ActiveRecord/Batches/ClassMethods/find_in_batches http://api.rubyonrails.org/classes/ActiveRecord/Batches.html

希望这些链接对您有所帮助。

关于ruby-on-rails - 将返回 500k 记录的 sql 查询快速转换为 csv (ruby on rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22815252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com