【问题标题】:Single DB trip vs Multiple DB trips单次 DB 行程 vs 多次 DB 行程
【发布时间】:2013-11-11 08:10:31
【问题描述】:

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

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

单次访问 DB(批量结果)与多次访问 DB(块结果)

Bulk Result 和 Chunk Results 都将存储在 List 中。

假设在这种情况下,我有 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

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

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

提前致谢。

【问题讨论】:

    标签: android sqlite list


    【解决方案1】:

    这是我的幼稚算法:

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

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

    所以基本上,这取决于您的应用拥有多少内存以及您的应用使用的数据量。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2017-06-05
        • 1970-01-01
        • 2017-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        • 2016-05-04
        • 2020-03-27
        相关资源
        最近更新 更多