在Ruby on Rails中将数据插入数据库

时间:2012-11-04 11:19:54

标签: mysql ruby-on-rails

我有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

1 个答案:

答案 0 :(得分:0)

问题是每次创建都会在DB中执行单个插入查询,这会减慢应用程序的速度。 您也可以使用Rails进行批量插入: Bulk insert in RAILS