从 sqlite3 迁移到 CoreData?

Posted

技术标签:

【中文标题】从 sqlite3 迁移到 CoreData?【英文标题】:Migrate from sqlite3 to CoreData? 【发布时间】:2016-11-18 04:19:12 【问题描述】:

我正在处理一个使用 sqlite 的旧 ios 项目。我打算升级它。我们应该升级到CoreData 吗?我发现现有的sqlite 类似乎有点难以跟踪和维护。我们应该迁移到CoreData 吗?或使用这些噩梦语法坚持使用SQLite(我没有现有数据,因此丢失以前的数据不是问题)。

【问题讨论】:

【参考方案1】:

我认为从 SQLite 迁移到 Core 数据不是一个好主意,迁移也会消耗大量时间。所以我的建议是请尝试了解退出应用程序的流程。

SQLiteCore data各有优势,如下图所示

SQLite:

SQLite 是世界上使用最多的数据库引擎,也是开源的。它实现了一个transactional SQL 数据库引擎,无需配置,也不需要服务器。 SQLite 可通过 Mac OS-X, iOS, android, Linux, and Windows 访问。

它提供了一个简单且用户友好的编程界面,因为它是用 ANSI-C 编写的。 SQLite也非常小巧轻便,完整的数据库可以存储在一个跨平台的磁盘文件中。

SQLite大受欢迎的原因在于:

Independence from a server
Zero-configuration
Safe access from multiple processes and threads
Stores data in tables with one or more columns that contain a specific type of data.

核心数据

Core Data 是应用开发者可用的第二种主要 iOS 存储技术。根据数据类型和您需要管理和存储的数据量,SQLite 和 Core Data 各有利弊。 Core Data 比传统的表数据库方法更关注对象。使用 Core Data,您实际上是在存储由 Objective-C. 中的类表示的对象的内容

虽然它们根本不同,但核心数据:

Uses more memory than `SQLite`
Uses more storage space than `SQLite`
Faster in fetching records than `SQLite`.

【讨论】:

非常感谢您的回复。需要时间去深入了解 sqlite 来熟悉它

以上是关于从 sqlite3 迁移到 CoreData?的主要内容,如果未能解决你的问题,请参考以下文章

从 Sqlite 迁移到 CoreData

如何优雅的将数据从sqlite3迁移到mysql

CoreData:从 xcdatamodel 版本 n 到 n+5 的轻量级迁移

如何最好地将应用程序从 sqlite(使用 fmdb)迁移到 CoreData?

CoreData:从捆绑的数据库中迁移数据

持久化存储