【问题标题】:Difference between Core Data and SQLite [closed]核心数据和 SQLite 之间的区别 [关闭]
【发布时间】:2011-10-03 13:54:23
【问题描述】:

Data 和 SQLite 之间的基本区别是什么,因为它们都是数据库并且可以用于 iOS 开发。哪个更适合保存和检索大数据?

【问题讨论】:

标签: iphone sqlite core-data


【解决方案1】:

核心数据:

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

SQLite:

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

【讨论】:

  • 注意:Core Data 不必使用 SQLite 作为其持久存储。
【解决方案2】:

这两者有很大的不同。

SQLite 本身就是一个数据库,就像我们拥有 MS SQL Server 一样。

但 Core Data 是一个 ORM(对象关系模型),它在数据库和 UI 之间创建了一个层。它加快了交互过程,因为我们不必编写查询,只需使用 ORM 并让 ORM 处理后端。

为了保存或检索大数据,我建议使用 Core Data,因为它能够处理 iOS 设备较低的处理速度。希望这会有所帮助。

@Arundhati:使用 Core Data 我们可以有效地优化内存。

问候。

【讨论】:

  • 除上述之外,使用核心数据我们可以有效地优化内存。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    除了是ORM(Object Relational Model)你可以比较Core-Data和SQLite;

    SQLite

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

    核心数据

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

    除了SQLite作为后端之外,Core数据还可以使用XML或二进制格式将数据存储到磁盘。

    【讨论】:

      【解决方案5】:

      coredata和sqlite有很大的区别。

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 2014-04-06
          • 1970-01-01
          • 2020-04-15
          • 1970-01-01
          • 2010-10-06
          • 2014-01-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多