2010-10-31 96 views
1

我有這個藝術家的遠程數據庫。現在大約有6,000個參賽作品。我想我的應用程序:CoreData性能和字段自動完成

  1. 下載藝術家名稱的JSON格式指數(〜95KB)
  2. 導入數據到CoreData
  3. 提供建議/自動完成當用戶添加一個新的藝術家

我以前做過這個,但沒有這麼大的規模。 當數據庫達到20或30萬個條目時會出現問題嗎?我並不擔心JSON文件大小,但主要是關於CoreData每次textField更改值時使用NSPredicate(例如artist_name LIKE textField.text)快速獲取數據的功能。

+2

CoreData的性能將依賴於存儲(SQLite,XML ......)我確實在iPhone上爲這種請求使用了數千個條目的SQLite,並且它總是非常流暢。我確實直接使用了SQLite庫(不是通過CoreData),但是CoreData據說效率很高,所以我認爲它應該可以。 – Julien 2010-10-31 22:32:21

+0

我使用SQLite更多然後2500進入它的工作正常,我的朋友在SQLite多於10000的條目工作,並在不到一秒的搜索,在這種情況下,它的工作很好我從來沒有使用coredata,所以不知道它的表現,希望你在使用後給予回覆哪一個更好,所以我下次使用它在我的應用程序中 – GhostRider 2010-11-01 10:01:08

回答

2

至少,請確保您將artist_name標記爲索引...應該有所幫助。

我也調查其他謂詞,看看是否沒有一個可能比LIKE更好的子字符串。

您還需要查看預加載數據庫的信息,並在後臺進行更新......如果網絡不好,300k JSON文件需要很長時間才能下載。

+0

Yea BEGINSWITH實際上更有意義。儘管自動完成功能非常精細,但使用一些庫存數據庫預先載入應用程序確實是一個好主意。感謝您的提示! – samvermette 2010-10-31 23:03:43