2013-04-09 39 views
1

我正試圖有效地做到這一點,我想知道標準設計模式是什麼,基本上同步從MYSQL對象到核心數據。什麼樣的設計模式用於從Web服務器數據更新NSManagedObjects

我想到的是:1。 從MySQL發送對象爲JSON 2.我通過每個JSON對象進行迭代,拉從核心數據對應的對象,並刪除,只是插入新的使用更新屬性。

我擔心的是,這將需要在每個循環中訪問數據庫(放慢我想象)。

所以我想我可以迭代通過JSON結果,並拉我想從CD拉的所有名稱。然後用該陣列名稱進行大規模的CD查詢。然後我會刪除這些,然後插入新的。但是我認爲大量的查詢需要一段時間。

你們認爲什麼是什麼,最好的方法或不同的方法?

感謝

回答

0

您可以使用第一種方法,只是提交給數據庫每100個記錄的例子。

+0

我更擔心每次迭代從數據庫加載 – 2013-04-09 21:33:07

0

我認爲類似於 Implementing Find-or-Create Efficiently「核心數據編程指南」中所描述的方法 應該在這裏工作:通過一些獨特的ID也存儲在數據庫中

  • 排序的JSON對象(或使 服務器按排序順序返回對象)。
  • 對數據庫中的所有項目執行提取請求,並按相同的ID排序。也許爲獲取請求設置批量大小。
  • 並行遍歷這兩個列表(JSON對象和提取的項目)。這允許在所有條目的單個循環中檢測新的,更新和刪除的對象。

如果條目數非常大,則可能需要保存上下文,或者使用明確的自動釋放池來限制內存存儲。