2012-02-15 71 views
0

我有一種情況,在進行同步時從服務器獲取響應後,行被插入到本地數據庫中。組合鍵是say key1和key2.例如,I已將它們設置爲唯一約束。但在第二次執行同步時,我可能再次獲得相同的行。因此,當它嘗試第二次插入這些行時,由於約束而無法插入。爲了減少數據庫交互,我正在保存在hashMap中作爲「key1-key2」的唯一鍵,然後檢查記錄是否已經包含在本地db中。因此可以使用這個contains()方法,我猜測搜索一個值需要的時間較少(比如說數字來自服務器的記錄是300)是否使用散列表或光標來檢查本地數據庫中是否有可用數據

你是否認爲上述解決方案是完美的,或者我應該循環通過從數據庫中檢索key1和key2的遊標。但是在這種情況下,每當我們獲得一條記錄時,我們都必須循環遊標(考慮我們在遊標中有300行)。

上面哪個解決方案應該遵循或者有更好的解決方案呢?

在此先感謝

回答

0

當你同步,如果你從服務器數據庫中獲取完整的數據,則刪除所有行和插入數據,這樣就不會有衝突

+0

但假設有25000行,那麼這會降低性能,因爲350行需要大約6秒才能插入 – user874341 2012-02-15 10:37:29

相關問題