我必须将我的数据库表中的数据与来自 sql 查询的新数据同步,我需要删除不在新数据中的当前条目并插入不在当前数据中的新条目。我能够使用这个伪代码在java中做到这一点:
// 1) get all data in database and store it in list (currentList)
// 2) get new data obtained through sql query and store it in list (newList)
// 3) sync both list
for(entry : currentList) {
if(newList.contains(entry))
finalList.add(entry)
}
for(entry : newList) {
if(!finalList.contains(entry))
finalList.add(entry)
}
// 4) delete all data from DB
// 5) insert finalList data to DB
它工作正常,但是,我认为在处理大量数据时它会出现性能问题,因为我正在删除所有内容并重新插入整个列表,而不是仅仅插入新条目并删除在新数据中找不到的条目。
你能建议一个更好的方法吗?是否可以创建一个可以处理数据同步的 sql 查询?