【问题标题】:Insert Data into Database in Ruby on Rails在 Ruby on Rails 中将数据插入数据库
【发布时间】:2012-11-04 11:19:54
【问题描述】:

我有 2 个模型,主要模型和细节模型。 在我的家庭控制器中,我想在数据库中插入 1.000.000 个条目,仅用于测试问题。

但这很慢,插入速度很慢.. 有没有可能加快速度?

也许我的配置有问题? 因为我想,每次保存 Main 条目时,都应该创建相应的详细条目。

主模型如下所示:

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

【问题讨论】:

    标签: mysql ruby-on-rails


    【解决方案1】:

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

    【讨论】:

    • 但是,例如,如果我正在做一个单一的质量插入。我还能在我的主模型中使用 before_create 回调吗?还是我必须在 sql 查询中执行此操作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多