0

这可能以前被问过,我只是不知道如何称呼它,这就是为什么它很难找到一个有限的答案。

无论如何,我目前正在开发一个 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 次行程中返回所有字段。

如散装;

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

并且两个结果集都将使用循环进行迭代(像往常一样),

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

提前致谢。

4

2 回答 2

0

这是我的幼稚算法:

  1. 小数据量 => 更少的行程,获取更多的数据并将其保存在内存中。由于数据很小,内存限制应该不是大问题。

  2. 大数据量 => 每次根据需要使用小数据进行更多旅行。由于数据很大,内存限制将是一个问题。

所以基本上,它归结为你的应用程序有多少内存和你的应用程序使用的数据量。

于 2013-11-11T08:20:35.123 回答
0

对于这么少的值,性能和内存使用都不是问题。

使用代码中最容易处理的任何方法。(每个值甚至可以执行一次查询。)

于 2013-11-11T10:34:32.130 回答