0
我在Rails中有一個控制器,它使用FasterCSV生成CSV報告。這些報告將包含大約20,000行,也許更多。使用Rails導出大量數據使用FasterCSV
當我在下面的實現中創建csv_string
時,需要大約30秒或更長的時間。有更好/更快的方式導出數據嗎?任何方式輸出數據,而不必將其全部存儲在csv_string
的內存中?
我目前的執行情況如下:
@report_data = Person.find(:all, :conditions => "age > #{params[:age]}")
csv_string = FasterCSV.generate do |csv|
@report_data.each do |e|
values = [e.id, e.name, e.description, e.phone, e.address]
csv << values
end
end
send_data csv_string, :type => "text/plain",
:filename=>"report.csv", :disposition => 'attachment'