Android 是否使用hashmap或游标检查本地数据库中的数据是否可用

Android 是否使用hashmap或游标检查本地数据库中的数据是否可用,android,Android,我遇到这样一种情况,即在执行同步时从服务器获得响应后,将行插入到本地数据库中。复合键是key1和key2。因此,我将它们设置为唯一约束。但在第二次执行同步时,我可能会再次获得相同的行。因此,当它尝试第二次插入这些行时,由于约束,它无法插入。为了减少数据库交互,我在hashMap中将唯一键保存为“key1-key2”,然后检查记录是否已包含在本地数据库中。因此,可以使用contain()方法,我猜搜索值所需的时间较短(例如,如果来自服务器的记录数为300) 您认为上面的解决方案是完美的,还是我应该

我遇到这样一种情况,即在执行同步时从服务器获得响应后,将行插入到本地数据库中。复合键是key1和key2。因此,我将它们设置为唯一约束。但在第二次执行同步时,我可能会再次获得相同的行。因此,当它尝试第二次插入这些行时,由于约束,它无法插入。为了减少数据库交互,我在hashMap中将唯一键保存为“key1-key2”,然后检查记录是否已包含在本地数据库中。因此,可以使用contain()方法,我猜搜索值所需的时间较短(例如,如果来自服务器的记录数为300)

您认为上面的解决方案是完美的,还是我应该循环通过从数据库检索key1和key2的游标。但在这种情况下,每次我们获得一条记录时,我们都必须循环通过游标(假设游标中有300行)

应该遵循上述哪种解决方案,或者有更好的解决方案


提前感谢

同步时,如果要从服务器数据库获取完整数据,请删除所有行并插入数据,这样就不会有冲突

但是假设有25000行,那么这将降低性能,因为插入350行大约需要6秒