0

メイン モデルと詳細モデルの 2 つのモデルを取得しました。私のホームコントローラーでは、問題をテストするためだけに、1.000.000 エントリをデータベースに挿入したいと考えています。

しかし、これは非常に遅いです.挿入は非常に遅く起こっています..これをスピードアップすることは可能ですか?

多分私は設定に何か間違ったことをしましたか?私が望むので、メインエントリが保存されるたびに、対応する詳細エントリが作成される必要があります。

メインモデルは次のようになります。

class Main < ActiveRecord::Base
  has_one :detail, :dependent => :destroy
  before_create :build_a_detail

private
  def build_a_detail
       self.build_detail(:Bezeichnung => 'test', :Koordinaten => 10, :main_id => self.id)
  end
end

詳細モデルは次のようになります。

class Detail < ActiveRecord::Base
  belongs_to :main
end

ホームコントローラー:

def new
    for i in 0..1000000
      main = Main.new(:Category => 'Krankenhaus', :Latitude => 5, :Longitude => 6)
      main.save
    end
  end
4

1 に答える 1

0

問題は、作成ごとに単一の挿入クエリが DB に対して実行され、アプリケーションの速度が低下することです。Rails でも一括挿入を行うことができます: RAILS での一括挿入

于 2012-11-04T11:36:12.943 に答える