在Android上使用SQLite插入50万条记录

时间:2012-06-30 12:46:43

标签: java android sqlite

我正在创建一个逐行读取文件的应用程序,并将记录插入到数据库中。记录数量约为五十万。问题是整个过程大约需要两个小时。

我该怎样做才能加快这个过程?

public long insertTable(int id,String word) {
    ContentValues wordValues = new ContentValues();
    wordValues.put(COLUMN_D, id);
    wordValues.put(COLUMN_WORD, word);
    return this.sqliteDBInstance.insert(TABLE_ENGLISH, null, wordValues);
}

3 个答案:

答案 0 :(得分:0)

将您的sql语句封装在 Transaction 中,它将极快地加速数据库操作。因为在使用SQLite Transaction时,只为整个操作创建了单个 journal-file

答案 1 :(得分:0)

我建议使用OrmLite 它使sqlite的生活更美好 希望有所帮助

答案 2 :(得分:0)

使用InsertHelper和交易。 InsertHelper非常高效,因为它使用编译语句并且您可以避免创建对象。在数据库事务中执行此操作,速度将快500倍。