首页 > 解决方案 > 在rails中如何在表中插入数千条记录

问题描述

我已经使用 Ruby on Rails 创建了 API。当我调用 API 端点插入超过 1000 条记录时,它会崩溃。目前,我正在使用数据库Mysql2

我的代码是

quantity.times do
  User.create(first_name: "John")
end

需要插入的记录数在哪里quantity,可以是任何数字,例如 10000、4000000。

谁能建议我如何在不破坏服务器的情况下非常有效地做到这一点

标签: mysqlruby-on-rails

解决方案


ActiveRecord.import

items = []
quantity.times.each do |row|
  items << User.new(name: "john")
end
User.import(items)

只需查看这些基准,即可了解此选项的速度有多快。这不是为生成 SQL 的单独事务、提交和插入, Model.create而是在单个查询中处理它。

参考


推荐阅读