0
我有一個核心數據應用程序,我想根據某些參數從數據庫中獲得結果。例如,如果我只想抓取上週發生的事件以及上個月發生的事件,爲整個實體做一個提取,然後使用該結果數組,爲每種情況創建數組,還是使用謂詞和多次提取更好?什麼是更有效的核心數據獲取或操縱/創建數組?
我有一個核心數據應用程序,我想根據某些參數從數據庫中獲得結果。例如,如果我只想抓取上週發生的事件以及上個月發生的事件,爲整個實體做一個提取,然後使用該結果數組,爲每種情況創建數組,還是使用謂詞和多次提取更好?什麼是更有效的核心數據獲取或操縱/創建數組?
答案取決於很多因素。我建議您仔細閱讀文檔中關於various store types的描述。例如,如果您使用SQLite存儲類型,那麼正確使用日期範圍謂詞並僅提取給定範圍內的謂詞是非常有效的。相反,假設您使用非標準屬性(如搜索加密字符串中的子字符串) - 您必須將所有內容全部拉入,解密字符串,執行搜索並記錄匹配項。
在頻譜的最遠端,你有二進制存儲類型,這意味着無論你可能做什麼樣的提取,整個事物總是會被拉進內存。
您需要描述您的託管對象模型以及您計劃執行的提取類型,以獲得更具體的答案。
我正在使用SQLite存儲類型。我想要做的是根據設定的時間間隔生成統計數據,因此可以在一週,30天和一年內得到一個項目的平均值。所以我試圖弄清楚是否最好用不同的謂詞創建3個不同的提取物,或者只是抓住實體,然後枚舉返回的數組集合,將匹配的日期值推入不同的數組進行計算? – adam0101 2010-08-04 21:33:32
描述你的模型有點? M.O.M.中的統計數據/日期如何表示?另外,你見過集合和數組運算符嗎? http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/KeyValueCoding/Concepts/ArrayOperators.html – 2010-08-05 14:12:53