【问题标题】:How to bulk insert or update in sqlite android? [duplicate]如何在 sqlite android 中批量插入或更新? [复制]
【发布时间】:2017-09-01 06:30:30
【问题描述】:

让我准确地解释一下我的问题,我只想一次插入 1000 条记录,但是遇到一些性能问题需要一些时间,无论如何在执行插入或更新操作时是否可以提高性能。让我解释一下我到目前为止所做的尝试:

     public void VisitStatusInsertorUpdate(VisitStatusModel modlobj) {
            String query = " SELECT  * FROM " + VisitStatusModel.table  + " WHERE " + VisitStatusModel.statusid  + "  =" + modlobj.getStatusID() + "";
            Cursor c = db.rawQuery(query, null);
            if (c.moveToFirst()) {
                VisitStatusUpdate(modlobj);
            } else {
                InsertVisit_Status(modlobj);
            }
            c.close();


          }
       private void VisitStatusUpdate(VisitStatusModel modlobj) {
            ContentValues contentValues = new ContentValues();
            String[] args = {String.valueOf(modlobj.getStatusID())};
             contentValues.put(VisitStatusModel.status,modlobj.getStatus());
            contentValues.put(VisitStatusModel.statusid,modlobj.getStatusID());
            db.update(VisitStatusModel.table, contentValues, VisitStatusModel.statusid + "= ?", args);
        }
  private void InsertVisit_Status(VisitStatusModel visitStatusModel) {
        ContentValues contentValues = new ContentValues();
        contentValues.put(VisitStatusModel.status, visitStatusModel.getStatus());
        contentValues.put(VisitStatusModel.statusid, visitStatusModel.getStatusID());
        mcontext.getContentResolver().notifyChange(VisitDAO_URI, null);
        db.insert(VisitStatusModel.table, null, contentValues);
    }

谁能帮帮我。提前致谢!!

通过上面的方法我会做这个操作,现在如何加快这个过程是不是最有效的方法

【问题讨论】:

  • 你考虑过使用交易吗?

标签: android sqlite android-database


【解决方案1】:

我只想插入 1000 个

我假设这是一次性操作,如果是这样,则完全跳过此步骤并提供预填充的数据库。有一些库可以帮助您完成从 https://github.com/jgilfelt/android-sqlite-asset-helper 等资产设置数据库的任务。

【讨论】:

    猜你喜欢
    • 2022-12-21
    • 1970-01-01
    • 2012-10-29
    • 2023-03-02
    • 2016-05-02
    • 2011-09-11
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多