2
RoR 4アプリケーションには、定期的に削除する必要がある何百万ものレコードがあります。現在、削除はbackgoundジョブとして起こる:私は数秒ごとに、それはMySQLサーバのCPU時間をスパイクた回数をやっているので、数百万のレコードをレールで削除する
while fruit.apples.count > 0
# create the sql query to delete 1000 feeds from the channel
sql = "DELETE FROM apples WHERE fruit_id=#{fruit_id} LIMIT 1000"
# execute the sql query
ActiveRecord::Base.connection.execute(sql)
# wait a bit before the next delete
sleep 0.1
end
。だから、もしdelete_all/destroy_allを使って100万レコードを削除できるのか、これを達成する良い方法があるのだろうかと思っていました。