1

Android sqlite データベース (最大 7000 行のデータ) に大量のデータを挿入するのに問題があります。InsertHelper を使用していますが、それほど高速化されていないようです。その量のデータをデータベースに効率的に挿入する他の方法はありますか?

ありがとう。

編集:

私はそれに対する修正を見つけました。私の挿入コードは次のとおりです(簡潔にするために詳細は省略されています):

public void addEntries(ArrayList<KeywordMap> keywords) {
        if (keywords == null || keywords.size() == 0)
            return;

        mDb.beginTransaction();

        String sql = "Insert into " + AUTOCOMPLETE_TABLE + " (path, name, course_id, " +
                "course_id_norm, type, year) values(?,?,?,?,?,?)";
        SQLiteStatement insert = mDb.compileStatement(sql);

        for (KeywordMap keyword : keywords) {
            insert.bindString(1, keyword.path);
            insert.bindString(2, keyword.name);
            insert.bindString(3, keyword.cid);
            insert.bindString(4, keyword.cid_norm);
            insert.bindDouble(5, keyword.type);
            insert.bindDouble(6, keyword.year);

            insert.execute();
        }

        mDb.setTransactionSuccessful();
        mDb.endTransaction();
    }
4

1 に答える 1

9
db.beginTransaction()

//insert, insert, insert … n-insert

db.setTransactionSuccessful();
db.endTransaction();
于 2012-04-17T03:03:40.387 に答える