SQLite - 如何从多个数据库和查询中连接数据

时间:2016-07-23 13:11:18

标签: android database sqlite

我有这种情况: 应用程序中的一个数据库和许多数据库从不同设备下载并保存在同一个数据库文件夹中:

mydatabase.db           // database of app
device1_mydatabase.db   // database from device 1
device2_mydatabase.db    // database from device 2
device3_mydatabase.db    // database from device 3
....
... 

所有数据库都具有相同的结构,因为不同设备中的应用程序是相同的。 我有一个查询从mydatabase.db获取总产量。 我想从所有数据库中获取一个完整的查询。

1)最好是创建一个新的数据库副本并插入来自单个数据库的所有数据,然后查询总数还是有不同的更好的方法?

1 个答案:

答案 0 :(得分:1)

这可能是一个意见问题,但我认为最好将数据加载到单个数据库中。这为应用程序提供了更多控制。以下是我想到的四个原因:

  1. 您可以针对要运行的查询优化数据库(例如,通过更改索引或重组表)。
  2. 您可以在可用时将表逐步加载到主数据库中。
  3. 添加其他设备不需要更改运行的最终查询(只需加载代码)。
  4. 如果更改基础数据库结构,则会出现数据库不相同的问题。中间的层将最终查询与原始数据库隔离开来。