一千萬個為什麽

搜索

核心數據性能deleteObject並保存托管對象上下文


我試圖找出批量刪除我的Core Data數據庫中的對象的最佳方法。

我有一些父/子關系的對象。有時我需要通過清除所有現有子對象並向Core Data添加新對象來“刷新”父對象。此操作的“全部刪除”部分是我遇到麻煩的地方。 我通過遍歷子節點並為每個子節點調用deleteObject來實現此目的。

我註意到在NSManagedObjectContext之後:當我刪除15,000個對象時,在所有deleteObject調用之後的Save調用非常慢。

我怎樣才能加快通話速度?在保存操作期間是否有我可以註意到的事情並通過設置不同的參數或以另一種方式設置我的模型來避免?我註意到在此操作期間內存也會出現峰值。我真的只想“刪除*來自”。

謝謝。

最佳答案

檢查關系依賴關系圖:初始刪除觸發的級聯刪除會減慢速度。如果不需要這些刪除,則更改刪除規則。

轉載註明原文: 核心數據性能deleteObject並保存托管對象上下文

猜你喜歡