Android 单DB跳闸与多DB跳闸

Android 单DB跳闸与多DB跳闸,android,sqlite,list,Android,Sqlite,List,这个问题以前可能会被问到,我只是不知道怎么称呼它,这就是为什么很难找到一个有限的答案 无论如何,我目前正在开发一个Android应用程序,并利用SQLite作为我的数据存储。我只是想问一下,下面哪一个比较好 单程数据库访问(批量结果)与多次数据库访问(区块结果) 批量结果和区块结果都将存储在列表中 假设在这个场景中,我有15条记录和3个组,例如 App - IsFirstRun, IsNew, DatePurchased, etc.. User - Username, Password, Bir

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

无论如何,我目前正在开发一个Android应用程序,并利用SQLite作为我的数据存储。我只是想问一下,下面哪一个比较好

单程数据库访问(批量结果)与多次数据库访问(区块结果)

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

假设在这个场景中,我有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将在三次行程中返回所有字段

如散装

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
这两个结果集将使用循环进行迭代(通常)

一开始,我可以说,由于数据量较小,我可以更好地控制多次旅行,我想知道其他人的想法以及他们如何处理这种场景/情况


提前感谢。

以下是我的简单算法:

  • 较小的数据大小=>更少的行程,获取更多数据并将其保存在内存中。由于数据很小,内存约束应该不是什么大问题

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


  • 因此,基本上,这取决于你的应用程序有多少内存和你的应用程序使用的数据量。

    对于这么少的值,性能和内存使用都不重要

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