sqlite insert vs update vs replace

时间:2013-09-05 06:19:16

标签: android facebook sqlite

我正在开发一个项目,我从facebook中检索有关用户朋友的数据。朋友的详细信息会有所不同,而在其他时候,它们与存储在数据库中的信息相同。

我可以使用replace命令确保数据库与我从facebook检索的任何信息一致。

我的问题是这种技术的效率如何?换句话说,我可以使用两种技术:

  • 一种是使用replace命令并盲目地替换完整记录
  • 其次是先检查数据库中保存的记录是否有任何差异,只更新已更改的字段

哪种方法会更有效?

1 个答案:

答案 0 :(得分:3)

我发现连续排队多个sqlite命令比在其间做任何其他事情要高效得多,即使只是比较几个值。

我强烈建议你只做一个更新命令。 SQLite很快。

我的观察是SQLite总是比我快。因此,让它进行繁重的工作,只需将数据转储到它,然后让它整理你的更新。

例如,我正在搜索大约7,000条记录。我将记录拉出一个数组,快速检查一个字段,并将其分成两个数组。这花了我大约5秒钟。我用两个单独的SQLite查询替换它,每个查询都必须遍历整个数据库。修改后的双重查询需要大约四分之一秒,我可以说,因为它太疯狂了。

我的大数据库中的更新速度与我相似。