之前可能已经问过这个问题,我只是不知道怎么称呼这就是为什么它很难找到有限的答案。
无论如何,我目前正在开发一个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
两个结果集都将使用循环(通常)迭代,
最初,看着它我可以说我可以更好地控制多次旅行,因为数据量的回报较小,我想知道其他人的想法以及他们如何处理这种情况/情况。
提前致谢。
答案 0 :(得分:0)
这是我天真的算法:
小数据尺寸=>减少行程,获取更多数据并将其保存在内存中。由于数据很小,因此内存约束不应该是一个大问题。
大数据尺寸=>每次根据需要使用小数据进行更多行程。由于数据很大,内存约束将成为一个问题。
所以基本上,它取决于您的应用程序具有多少内存以及应用程序使用的数据量。
答案 1 :(得分:0)
对于如此少的值,无论是性能还是内存使用都无关紧要。
使用代码中最容易处理的方法。 (即使每个值执行一次查询也是可能的。)