我有一种情况是在进行同步时从服务器获得响应后将行插入到本地数据库中。复合键是key1和key2。因此我将它们设置为唯一约束。但是在第二次执行同步时,我可能会再次获得相同的行。因此,当它第二次尝试插入这些行时,由于约束而无法插入。为了减少数据库交互,我将唯一键保存为hashMap中的“key1-key2”,然后检查如果记录已经包含在本地db中。因此可以使用contains()方法,我猜想搜索一个值的时间更少(比如来自服务器的记录数是300)
你认为上面的解决方案是完美的还是我应该遍历从数据库中检索key1和key2的游标。但是在这种情况下,每次我们得到一条记录时我们都必须遍历游标(考虑我们有300行)在光标中。
应该遵循上述哪种解决方案,还是有更好的解决方案?
提前致谢
答案 0 :(得分:0)
当您正在同步时,如果从服务器数据库获取完整数据,则删除所有行并插入数据,以便不会发生冲突