2010-10-31 100 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