Iphone 高级iOS数据库

Iphone 高级iOS数据库,iphone,ios,database,ipad,ios5,Iphone,Ios,Database,Ipad,Ios5,我们正在开发一个需要处理大量结构化数据的应用程序。iPhone和iPad最先进的数据库库是什么?有两个明显的候选库:SQLite或核心数据 SQLite为您提供了低级别的粒度/灵活性,但您必须编写更多的代码。SQLite被认为对2GB的数据集也有好处,尽管我个人还没有尝试过在iOS中处理这么大的数据集 核心数据将细节从您身边抽象出来,避免您编写大量代码,但优化可能会涉及到很多细节,需要处理的细节也很多 使用核心数据时,初始学习曲线(除非您碰巧已经是SQL专家)可能更容易。是的,您可以使用sqli

我们正在开发一个需要处理大量结构化数据的应用程序。iPhone和iPad最先进的数据库库是什么?

有两个明显的候选库:SQLite或核心数据

SQLite为您提供了低级别的粒度/灵活性,但您必须编写更多的代码。SQLite被认为对2GB的数据集也有好处,尽管我个人还没有尝试过在iOS中处理这么大的数据集

核心数据将细节从您身边抽象出来,避免您编写大量代码,但优化可能会涉及到很多细节,需要处理的细节也很多


使用核心数据时,初始学习曲线(除非您碰巧已经是SQL专家)可能更容易。

是的,您可以使用sqlite和coredata作为数据库(持久存储)在iPhone上。但是,如果数据库变大,sqlite会比coredata得分高。您没有提到数据的大小。对于较小的数据,您甚至可以使用plist,它的速度要快得多,但对于较大的数据,它的性能问题是显而易见的

sqlite3有一些包装器,比如和,您可以使用它们


这两种包装都很好

如果您追求SQLite,可以使用Objective C包装,这大大简化了代码的编写。比自己使用SQLite3C接口容易得多。我将其用于一个非常复杂的SQL数据库,它是一个救星。

核心数据是苹果自己的技术,对吗?没错,尽管在iOS上它实际上在幕后使用SQLite。是的,它是。同样要澄清的是,核心数据实际上只是包装底层数据存储(通常是SQLite)。编辑:比我快几秒钟!我可以发布sqlite的相关通用代码,如果需要,可以在任何应用程序中实现。。coredata要容易得多“如果数据库变得更大,sqlite会比coredata得分”——这在很多情况下都不是真的。事实上,对于大型数据集,在核心数据中进行批处理可以获得比原始SQLite好得多的性能。不管怎样,核心数据都是在SQLite上分层的,苹果的工程师们在优化他们的查询和与SQLite的交互方面做得比我们大多数人都好。是的,但我在我的项目中尝试过,数据大小超过1GB大大减少了SQLite 3的检索时间。。