日刊 あおのうま Vol.2702(2018.04.09)【N+1対策】

投稿者: | 2018/04/09

37分 と 55秒

約67万行のバカでかいCSVファイルをRails でデータベースに取り込まねばならない事になったのですが、普通にORM(ActiveDirectory)を使ってcreate だのsave だのしても、どうにも遅くて使い物になりません。

ならばとINSERT 構文のSQL を用意して、プレースホルダでぶん回しても大して高速化は出来ず。
結局、以前も行ったデータベースの独自構文を使って、ほぼ直接にファイルからデータ取込をする結果になりました。

Screenshot of kawairi.jp

前回もそうでしたが、ほんまにORM使うのが悲しくなってくるレベルで速度が違います。
37分かかっていた処理が55秒ですよ。

Enumerator を使う様になってORM の良さも判る様になってきたのですが、それでも、このパフォーマンス差はキツいなあ。

まあ、ケース・バイ・ケース。
使い分ければええだけの話なんですけれどね。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください