お世話になっております。
ruby on railsで、postgresqlに対する効率の良いinsert方法を教えて頂きたいです。
特定の条件によって、一時テーブルから一時テーブルにselect insertするようなコードを書いています。
一つ一つのselect insertは早いのですが、何万回とこの処理を走るので、とても時間がかかっています。
処理時間を減らす良い方法はないでしょうか?
tmp_table_A = get_tmp_table_A for 1...100000 if 条件1 ActiveRecord::Base.connection.execute("INSERT INTO tmp_table_B ( col1,col2,col3) SELECT col1,col2,col3 FROM tmp_table_A WHERE 条件1 ") elsif 条件2 ActiveRecord::Base.connection.execute("INSERT INTO tmp_table_B ( col1,col2,col3) SELECT col1,col2,col3 FROM tmp_table_A WHERE 条件2 ") elsif 条件3 ActiveRecord::Base.connection.execute("INSERT INTO tmp_table_B ( col1,col2,col3) SELECT col1,col2,col3 FROM tmp_table_A WHERE 条件2 ") ...以降条件がいくつも続く end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/07 12:31