核心数据和sqlite之间的区别

时间:2011-07-12 12:02:04

标签: iphone sqlite core-data

核心数据和sqlite之间的基本区别是什么,因为它们都是数据库,可以与IOS开发一起使用。并告诉我哪个更适合保存和检索大数据

6 个答案:

答案 0 :(得分:71)

这两者之间存在巨大差异。 SQLLite就像我们MS SQL Server一样是一个数据库。但CoreDataORM(对象关系模型),可在layerdatabase之间创建UIspeeds-up process交互的write queries,我们没有save or retrieval of large data,只需使用ORM并让ORM处理后端。对于{{1}},我建议使用Core Data,因为它能够处理较低的设备处理速度。希望这会有所帮助。

@Arundhati:使用核心数据我们可以有效地优化内存。

问候。

答案 1 :(得分:15)

除了ORM(对象关系模型)您可以将Core-Data和SQLite比较为;

<强> SQLite的

  • 具有数据约束功能。
  • 对存储在磁盘上的数据进行操作。
  • 可以删除表格和编辑数据,而无需将其加载到内存中。
  • 与核心数据相比较慢。

核心数据

  • 没有数据约束,如果需要,需要通过业务逻辑实现。
  • 在内存中运行。(数据需要从磁盘加载到内存)
  • 如果我们需要删除表或更新,则需要加载整个数据。
  • 在创建记录方面做得很快。(保存它们可能非常耗时)

此外,除了SQLite,后端核心数据可以使用XML或二进制格式将数据存储到磁盘。

答案 2 :(得分:3)

coredata和sqlite之间存在很大差异。

核心数据本身不是数据库,它只是一个变更跟踪系统,是SQLite等持久存储的包装器(反向,将对象保存到持久存储)。您可以将SQLite作为底层RDBMS,并且可以将coredata用作管理表属性更改的层(撤消,重做,重置更改),还可以优化管理内存(故障)。

答案 3 :(得分:0)

使用核心数据我们可以有效地优化内存。

答案 4 :(得分:0)

CoreData:

  1. 不是数据库,而是用于管理对象图(互连对象的集合)的框架
  2. 它使用SQLite作为其持久存储。
  3. 框架擅长管理复杂的对象图及其生命周期。
  4. 它可以有选择地将对象图持久化到磁盘上,并且还提供了一个强大的界面来搜索其管理的对象图。
  5. 该框架添加了许多其他引人入胜的功能,例如输入验证,数据模型版本控制和更改跟踪。
  6. 它还具有其他持久性存储类型,例如二进制存储和内存存储
  7. 重要:Core Data使用的SQLite数据库的数据库模式是框架的实现细节。它没有公开记录,可能会更改。

SQLite:

  1. 关系数据库
  2. 轻量级数据库,并存储在磁盘上
  3. SQLite不需要单独的服务器进程或系统即可运行。

答案 5 :(得分:0)

SQLite是一个数据库,而Core Data不是。核心数据是用于管理对象图的框架。核心数据的操作速度很快。它不会每次都访问数据库。 SQLite每次都与数据库进行交互以进行操作。核心数据将操作保存在主内存(即缓存)中,因此可以快速运行。