Iphone 在plist或Sqlite数据库中存储数据更好吗?

Iphone 在plist或Sqlite数据库中存储数据更好吗?,iphone,ios4,sqlite,plist,Iphone,Ios4,Sqlite,Plist,在我的iPhone应用程序中,我有大量的数据,即大约1000页的文本 我应该在哪里储存它们 我应该使用plist还是Sqlite数据库表 其中哪一个更有效 请提供帮助和建议 提前感谢。对于大数据量,sqlite或coreData更好,因为所有数据都不会加载到内存中访问。 使用pList,整个文件在内存中读取。之后,您只能保留所需的数据,但未对其进行优化。您应该使用plist存储配置设置 对于您正在做的事情,我将使用sqlite3或核心数据存储。pList实际上只是一个xml文件,因此xml的优点

在我的iPhone应用程序中,我有大量的数据,即大约1000页的文本

我应该在哪里储存它们

我应该使用plist还是Sqlite数据库表

其中哪一个更有效

请提供帮助和建议


提前感谢。

对于大数据量,sqlite或coreData更好,因为所有数据都不会加载到内存中访问。

使用pList,整个文件在内存中读取。之后,您只能保留所需的数据,但未对其进行优化。

您应该使用plist存储配置设置


对于您正在做的事情,我将使用sqlite3或核心数据存储。

pList实际上只是一个xml文件,因此xml的优点(例如,易于人类和计算机读取)和缺点(存储/检索效率)适用


而SQLite显然为您带来了SQL的好处。对于大数据,SQLite是更好的选择

重要的是访问它们的方式。如果是随机或小部分访问的内容,则应使用类似sqlite的数据库。如果您同时使用所有rougly,那么plist就可以了。正如@Benoît所提到的,plists完全加载到内存中。对于像书一样的东西,你也可以考虑将页面存储在单独的文件中,从而使用文件系统来管理访问(当然取决于你打算如何使用它)。

< P>取决于你想要存储数据的方式和方式:

在以下情况下使用SQLite:

  • 数据只需要部分访问
  • 重复更新
  • 数据本身的字节数很大
  • 否则请使用plist


    在您的情况下,我将使用SQLite 3或coredata重新命名。

    属性列表

    plist只是一个嵌套键值对的列表,可以包含常见的数据类型,如字符串、数字、数组和字典

    专业人士

    • 简单易懂
    • 容易相处
    缺点

    无法对其运行复杂查询(至少不容易)。 您必须将整个文件读入内存才能从中获取任何数据,并保存整个文件以修改其中的任何内容

    SQLite

    在CoreData出现之前,这一直是iPhone应用程序中读写数据的流行方式。如果你是一个网络开发者,这并不是什么新鲜事

    专业人士

    • 与plist不同,您不必预先加载整个数据库。 这使得SQLite更适合具有大量数据的应用程序
    • 在切片和切割数据方面优于plist
    缺点

    比plists更陡峭的学习曲线。 工作起来可能会很乏味

    核心数据

    它是新的,令人兴奋的,而且它可能是大多数开发人员从现在开始将要使用的

    我没有花足够的时间来总结CoreData;查看教程(如下)了解更多信息

    专业人士

    • 几乎所有SQLite的好处都是以更少的麻烦实现的(苹果做到了) 你干了很多脏活)

    • 作为苹果的首选方法,它有更多的官方文档和示例代码(其他两种方法的文章和示例代码似乎已经神秘地从苹果的网站上消失了)

    缺点

    • 比plists更陡峭的学习曲线
    • 杀手:仅适用于iPhone OS>3.0。如果你的市场主要由iPodtouch用户(他们必须为升级付费)组成,那么它就是杀手

    谢谢您,这让您很容易决定使用哪一种。我从来没有像这样清楚地解释过,你想不想把所有的数据一次装入内存。