あなたのユーザーアカウントのコメントのCSVレポートをダウンロードできるページがあるとします。これは何千ものレコードを持つことができます。各ユーザーのコメントをより速く読む方法はありますか?今は単純なループをしています。ダウンロードされたCSVレポートサーバーが過負荷になっていると、何千ものレコードを効率的に取得できますか?
0
A
答えて
0
ストレートCSVにダンプするDBの特定のクエリの外では、あなたが本当に唯一、私はこれらすべてのARオブジェクトをインスタンス化のオーバーヘッドを回避するためにpluck
を使用することになり、一度に単一のユーザーのコメントをダンプしていると仮定。また、返される列を本当にエクスポートする必要がある列に限定することもできます。
@user.comments.pluck(:id, :body).each do |comment|
# add to csv here
end
0
ような何か:
require 'csv'
sql = "Select * from comments"
records = ActiveRecord::Base.connection.execute(sql)
CSV.open("path/to/file.csv", "wb") do |csv|
records.each do |rec|
csv << rec
end
end
は速く、各行のためのARオブジェクトを作成するよりも桁違いのカップルであるべき。このコードはテストしていませんが、あなたはそのアイディアを得ています。
関連する問題
- 1. ストアドプロシージャから何千もの行を効率的に取得する方法
- 2. どのように効率的に関数を過負荷にすることなく、あなたは狂っていませんか?
- 3. レコードを取得する前にcsvがダウンロードされます
- 4. 負のlookbehindをオプション値に沿って動作させる最も効率的な方法は何ですか?
- 5. 読み取りホストを過負荷にすることはできますか?
- 6. 多型と過負荷の違いは何ですか?
- 7. 三元(!そしてもっと)過負荷
- 8. Kotlinで過負荷になる
- 9. 何千もの四角形を効率的に描画しアニメーション化する
- 10. きれいなgitサンドボックスを取得する最も効率的な方法は何ですか?
- 11. 何千ものmongodb文書内で計算を行う最も効率的な方法は何ですか?
- 12. GridViewのイベント:私はそれを持っているように過負荷が
- 13. pongongoを使ってMongoDBのObjectIdで値を取得する最も効率的な方法は何ですか?
- 14. ドット "を過負荷にすることができません。オペレーターがC++で
- 15. 一般化されたTensorflow CSV負荷
- 16. 何千もの数字をすばやく追加する効率的な方法は何ですか?
- 17. C#何千もの行にタイムゾーンを変換しています。ランダムに「取得されたDateTimeが無効な時刻を表しています。
- 18. Redux:潜在的に何千ものレコードのレコードごとに1つのフォーム
- 19. Apacheエラーログ - サーバが過負荷ですか?
- 20. は、効率的に、私はそれで数千行まで何もして、ストアドプロシージャのパラメータとしてテーブル値タイプを持っているストアドプロシージャ
- 21. 一般的なCSV読み、負荷コード
- 22. サーバーの過負荷:
- 23. redisに過負荷がかかるとどうなりますか?
- 24. AutoCompleteTextFieldは私が集中したときに、負荷の負荷
- 25. は、私が過負荷を持つ2つの非常に類似した過負荷に
- 26. 何千ものレコードを実行しているときにPHPメモリが枯渇しました
- 27. 接頭辞によってプロパティファイルからプロパティを読み取る最も効率的なソリューションは何ですか?
- 28. 効率的に2つのcsvと+300000のレコードを比較する(awkで)
- 29. idsリストから何千もの行を選択する最も効率的な方法
- 30. &(アドレスの)演算子を過負荷にしたいのはなぜですか?
csvファイルではなくデータベースにデータを格納するのがよいでしょう。 –
@DanBracukデータベースにあります。そのデータをCSVファイルにダウンロードできるページがあります。 – cvDv
あなたはどのDBMSを使用していますか? 'SQL SERVER'では、' BCP'ユーティリティを使ってCSVを生成することができます。それは非常に効率的ですあなたは各レコードをループする必要はありません –