我想每天从我们的数据库中删除大约500万条或更多的记录,这些记录实际上是已过期的用户。
我用过" find_each"批处理过程删除这些记录,但它需要1天才能删除100万条记录,因此需要5天才能删除500万条记录:(这太费时间了。
有没有快速方法可以安全地从ruby中删除数据库中的数百万条记录。
这是我的代码:
now = Date.today
@expired_users = ExportUser.where("status != ? and DTSysModified >= ? and DTSysModified <= ?", "Active", Date.new(now.year, 04, 1), Date.new(now.year, 04, -1))
@expired_users.find_each(batch_size: 10000) do |user|
user.destroy!
end