非常大的NSDictionary与核心数据vs SQLite在iPhone上只读查看?

前端之家收集整理的这篇文章主要介绍了非常大的NSDictionary与核心数据vs SQLite在iPhone上只读查看?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在修改一个iPhone文字应用程序,我使用DAWG结构在用户输入时实时查找来自用户定义的字库的字谜.那部分效果很好.识别出单词后,我想检索有关plist文件中当前所有单词的具体信息(用单词键控).应用程序启动时需要导入此信息并可用.

在启动时,我可以使用initWithContentsOfFile轻松地将plist准备到NSDictionary对象中,但这会创建一个包含~200,000个键/值对的字典.我猜这不是最好的方法,因为txt,bin和xml格式的plist文件分别是2.8 MB,3.9 MB和7.5 MB.

我应该使用Core Data还是sqlite?我的首要任务是性能,因为我希望在用户输入的情况下实时查找数万个实时结果的信息.

谢谢

解决方法

您只能通过尝试两种方法和分析来回答性能问题(使用Instruments.app).也就是说,有很多Core Data提供对象图管理功能,听起来并不像你需要的那样.如果您真正想要的是键值存储,那么使用NSDictionary是有道理的.您应该使用内存中持久性存储与核心数据堆栈进行比较.如果您的目标是最大读取性能并且您可以将整个数据集放入内存,那么没有理由去磁盘上的sqlite或Core Data持久性存储.

猜你在找的Sqlite相关文章