我处理一些大多数5MB
大小约为20k左右的CSV文件。
目前处理我们的模式的一致性是:
Chargeback.transaction do
account.chargebacks
.where(issue_id: row[:issue_id])
.first_or_create!.update!(large_hash_of_new_state)
end
这很好并且有效,但是有更好的方法来执行以下操作:
Chargeback.transaction do
account.chargebacks
.where(issue_id: row[:issue_id])
.insert!(large_hash_of_new_state)
end
不仅仅是代码简单,还有更少的SQL?这是一个upsert?