2016-07-23 85 views
0

我有这样的场景: 在应用程序和许多数据库中的一个数据库,它是从不同的设备下载并保存在同一个数据库文件夹: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

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

  1. 您可以针对要运行的查询(例如通过更改索引或重新构建表)来优化数据库。
  2. 您可以逐渐将表加载到主数据库中,因为它们变得可用。
  3. 添加其他设备不需要更改正在运行的最终查询(只是加载代码)。
  4. 如果更改底层数据库结构,那么您将遇到数据库不相同的问题。在一个层之间隔离来自原始数据库的最终查询。