【问题标题】:Options for transferring data between MySQL and SQLite via a web service通过 Web 服务在 MySQL 和 SQLite 之间传输数据的选项
【发布时间】:2013-08-04 10:46:55
【问题描述】:

我最近才开始处理数据库系统。 我正在开发一个 ios 应用程序,该应用程序将具有本地数据库 (sqlite),并且必须使用存储在网络服务器 (mysql) 中的数据库的内容定期更新内部数据库。我的问题是,从网络服务器获取数据并将其存储在本地数据库中的最佳方法是什么?我想到了一些选项,不知道它们是否都可能

  1. Webserver->XML/JSON->发送->本地转换并存入本地数据库

  2. Webserver->backupFile->发送它->将它提供给 SQLite db

还有其他选择吗?就采集的数据量而言,哪一个更好?

谢谢

【问题讨论】:

  • 您的第一种方法是最好的,使用 RESTful Web 服务从您的数据库发送数据,解析数据并将其保存到本地 sqlite

标签: mysql ios sql sqlite


【解决方案1】:

XML/JSON 路由是迄今为止最简单的,同时提供了足够的灵活性来处理对数据库架构的更新/访问您的 Web 服务的应用程序的旧版本。

就您提到的第二个选项而言,有两种方法 - 使用 SQL 语句转储或 CSV 转储。然而:

  1. “默认”(即:mysqldump 生成)备份文件不会在没有大量按摩的情况下导入 SQLite。

  2. 使用 CSV 提取/导入将意味着您在架构更改等方面的灵活性大大降低,因此如果数据格式曾经可能发生更改,这可能不是一个明智的方法.

因此,我建议坚持使用久经考验的 XML/JSON 方法。

就传输的数据量而言,JSON可能小于等价的XML,但这确实取决于所使用的变量/元素名称等。(参见现有的How does JSON compare to XML in terms of file size and serialisation/deserialisation time?问题了解更多信息。)

【讨论】:

  • 感谢您的回答。关于默认备份文件是否有可能构建 mySQL 数据库以使其可直接导入到 sqlite?谢谢。
  • @mppl 如果您查看 mysqldump 生成的文件,您会发现它使用了 SQLite 无法理解的语法,而与使用的字段类型等无关。 (也就是说,测试应该是微不足道的。)
猜你喜欢
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多