我想知道是否有人对在后台运行 csv/excel 导出查询有任何好主意,这将最大限度地减少查询负载。对于 10k+ 的结果,可能会导致查询缓慢。
问问题
1661 次
2 回答
1
好吧,我建议您使用Sidekiq。这是我设想的方式
- 你点击导出按钮
- 包装保存整个 sql/activerecord 作业的方法,并将其放在 sidekiq 工作人员中。
- 生成 csv 后,使其在文件系统中可用,人们可以从那里下载它。
这样做的好处是,sidekiq 将帮助您加快 SQL 查询并正确分配负载,其次,您不会遇到浏览器超时问题,因为长时间的查询需要时间来加载和在浏览器上流式传输 excel/csv。
于 2013-03-04T22:26:25.450 回答