好的,我们假设我的list
包含以下类型的对象:
已存储在数据库中的对象(具有相同的PK), 并且与数据库中的相同,未修改
已存储在数据库中的对象(具有相同的PK),并且对于存储的对象已修改,因此需要更新
数据库中尚未存在且即将保存的对象
此类对象列表作为JSON
发送到Web服务,Web服务现在必须与数据库通信,并决定要存储,更新或忽略的对象。
我的问题是如何有效地做到这一点?
一个想法是迭代列表,并且每个对象的PK都对数据库进行查询,并检查数据库中的对象是否不存在,相同或已修改。然后根据该信息选择操作。 困扰我的方法是对数据库进行大量查询,只是为了保存一些对象。如果真的只能保存100个中的1个怎么办?这是无效的。
有没有更好的方法呢?
答案 0 :(得分:0)
您可以将整个列表发送到DB(MYSQL)并执行upsert:
INSERT ... ON DUPLICATE KEY UPDATE