哪种方法更好地以编程方式创建数据库或从资产文件夹中复制它?

由于我们可以通过两种方式存储或复制数据库中的数据 . 一个来自sqlite文件,我们放在assets文件夹中,另一个来自以编程方式创建的数据库 .

我有关于android中的sqlite数据库的以下问题:

1.从数据库执行select查询时执行速度更快,为什么?

2.每种方法的优点是什么?

我在互联网上发现但是我无法获得任何正确的信息,我通过Googling了解的唯一一件事就是从资产中复制数据对于像国家列表这样的静态数据更好(这很明显,因为你不会执行任何批量操作在android中插入数据 . 对此有任何帮助表示赞赏 . :)

回答(1)

2 years ago

它没有任何区别 .

您的选择查询是在最终数据库上执行的,无论您是从资产中复制还是以编程方式导入它,都是相同的 . 你创建它的方法不会影响它的行为 .

至于优势,这完全取决于你 . 在某些情况下,在资产中使用基础数据库可以让您更好,更容易阅读,控制版本控制,因为您可以轻松地使用存储库提交,而不是在代码中包含数千个SQL语句 .

另一方面,使用每个版本更新从assets文件夹复制的数据库可能很困难,尤其是如果您经常修改应用程序中的数据 . 您不必通过编程方式简单地更改更新中的架构或数据,而是必须导出任何修改,复制新数据库,然后通过执行某种形式的合并导入所有修改 .