【问题标题】:Detecting forgotten SQLite transaction on Android using StrictMode?使用 StrictMode 在 Android 上检测忘记的 SQLite 事务?
【发布时间】:2010-12-13 21:25:27
【问题描述】:

执行多个 SQL 语句而不将它们放入一个事务是一个严重的瓶颈(参见例如http://www.sqlite.org/faq.html#q19)。我还没有彻底检查过 SQLite 在 Android 上的配置方式,但有趣的是,当我在更多地方使用事务时,我发现我的应用内的性能显着提高。

是否可以使用 StrictMode 检测忘记使用事务的情况?如果没有,是否可以考虑将其用于 StrictMode 的未来版本?检测起来可能有些棘手,但两种不同的策略可能是,1) 事务外的非选择语句,或 2) 在短时间内执行的事务外的多个非选择语句。

【问题讨论】:

    标签: android sqlite android-strictmode


    【解决方案1】:

    是的,这听起来不错。我可以想象这样的 API:

    StrictMode.catchWritesOutsideTransactionsOn(SQLiteDatabase db);

    我们一直在考虑在 StrictMode 中使用其他 SQLite 挂钩(主要是围绕选择缺失的索引等),但这也是一个好主意!

    【讨论】:

    • 干杯!缺少索引也很棒!
    • 嘿,姜饼源现已发布!一步一步来。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 2012-06-24
    • 2015-11-23
    • 2022-07-06
    • 2015-12-05
    相关资源
    最近更新 更多