2016-07-23 84 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. 如果更改底層數據庫結構,那麼您將遇到數據庫不相同的問題。在一個層之間隔離來自原始數據庫的最終查詢。