单DB运行与多DB运行

时间:2013-11-11 08:10:31

标签: android sqlite list

之前可能已经问过这个问题,我只是不知道怎么称呼这就是为什么它很难找到有限的答案。

无论如何,我目前正在开发一个Android应用程序并使用SQLite作为我的数据存储。我只是想进行这个调查,假设在下面两个之间做得更好;

单次行程到DB(批量结果)与多次行程到DB(块结果)

批量结果和块结果都将存储在列表中。

假设这个场景我有15个记录,包含3个组,例如

App - IsFirstRun, IsNew, DatePurchased, etc..
User - Username, Password, Birthdate, Locale, etc..
License - Mode, Writes, Log, History, etc..

看起来像这样;

Group    Field        Value
App      IsFirstRun   N
App      IsNew        Y
App      DatePurchased
User     Username     Hello
User     Password     World
User     Birthdate    02/24/1950
Lic      Mode         F
Lic      Writes       200

Bulk将在一次旅行中返回所有字段,而Chunk将在3次旅行中返回所有字段。

如Bulk;

userPrefValues = db.getCategoryValues2("USER_PREFS");

App      IsFirstRun   N
App      IsNew        Y
App      DatePurchased
User     Username     Hello
User     Password     World
User     Birthdate    02/24/1950
Lic      Mode         F
Lic      Writes       200

块;

userPrefValues = db.getCategoryValues2("USER_1");
userPref2Values = db.getCategoryValues2("USER_2");
userPref3Values = db.getCategoryValues2("USER_3");

App      IsFirstRun   N
App      IsNew        Y
App      DatePurchased

User     Username     Hello
User     Password     World
User     Birthdate    02/24/1950

Lic      Mode         F
Lic      Writes       200

两个结果集都将使用循环(通常)迭代,

最初,看着它我可以说我可以更好地控制多次旅行,因为数据量的回报较小,我想知道其他人的想法以及他们如何处理这种情况/情况。

提前致谢。

2 个答案:

答案 0 :(得分:0)

这是我天真的算法:

  1. 小数据尺寸=>减少行程,获取更多数据并将其保存在内存中。由于数据很小,因此内存约束不应该是一个大问题。

  2. 大数据尺寸=>每次根据需要使用小数据进行更多行程。由于数据很大,内存约束将成为一个问题。

  3. 所以基本上,它取决于您的应用程序具有多少内存以及应用程序使用的数据量。

答案 1 :(得分:0)

对于如此少的值,无论是性能还是内存使用都无关紧要。

使用代码中最容易处理的方法。 (即使每个值执行一次查询也是可能的。)