有没有办法使用增量更新SQLITE数据库?

时间:2012-08-01 07:36:44

标签: sqlite optimization sync dump delta

我想知道SQLite是否提出了基于某个增量文件的更新机制,例如,Oracle数据库可以与sql重做日志或快照日志同步。

SQLite是否提出了一种更新自身的优化机制。

我的用例如下,我有一个本地数据库,必须与一些远程数据同步,在理想的世界我想以优化的格式构建更改,只有它们,而不是所有的数据库,是否有一些原生SQLite机制还是我必须实现一个自定义机制?

谢谢

4 个答案:

答案 0 :(得分:2)

我们有完全相同的要求,我们通过编写插入/更新/删除语句来满足这一要求,这些语句在针对SQLLite数据库执行时会更新它。

我们有一个中央SQLLite数据库,可以从某个源更新。然后,需要将更新传播到其他SQLLite数据库。我们所做的是生成SQL脚本并针对需要更新的数据库执行它们。

类似的东西将有助于实现您的目标

答案 1 :(得分:1)

此问题现在包含在另一个SO问题中:How can I diff 2 SQLite files?

简而言之,现在有一个内置的工具来区分两个sqlite数据库。

答案 2 :(得分:0)

您需要自定义解决方案。 SQLite没有内置任何内容自动执行此操作。

请注意,您可以编写跨多个数据库的查询。使用它,您可以完全在SQLite中从另一个数据库更新一个数据库。你仍然需要把逻辑放在自己身上。

http://www.sqlite.org/lang_attach.html

答案 3 :(得分:0)

其他一些答案截至 2016 年已过时。“会话”扩展在 3.13.0 版(2016 年)中添加到 SQLite3,它提供了类似于 diff 和补丁的内容。我绝不是这方面的专家,我和这里的 OP 有同样的问题,最终找到了这个。

https://sqlite.org/sessionintro.html