【发布时间】:2023-04-09 17:13:01
【问题描述】:
我有一个 180k 行的大型 SQL (mysql) 数据库,我想在 CoreData 中使用它。我可以使用 Xcode 创建 SQLite 数据库,然后使用 SQLight 客户端应用程序连接到该数据库,并使用我的 mysql 数据填充它吗?
或者有没有更好的方法可以有效地将大型数据集导入 CoreData 存储?
它只会被填充一次,数据应该驻留在设备上。
我想这样做的原因是因为我正在构建一个 iOS 应用程序,该应用程序需要从包含大多数英语单词的持久存储中读取。除了这个词,每一行还包含一些其他的东西。应用永远不需要写入数据库,只需从中读取,但需要非常快速地读取。
从Apple's docs 看来,这是不推荐的(或者可能是不可能的):“不要使用本机 SQLite API 操作现有的 Core Data 创建的 SQLite 存储”
更新: 我目前正在研究的另一个选项是使用 phpmyadmin(或其他工具)将 MySQL 数据库导出到 json。然后将该json文件加载到项目中。当应用程序加载时(希望只是第一次使用),将数据从 json 文件推送到 Core Data。
【问题讨论】:
-
Firebase 会是更好的选择吗?我可以将 sql 文件转换为 JSON,然后轻松将 JSON 上传到 Firebase。我只需要学习如何将 firebase 数据库下载到设备上,以便离线工作。