是否可以使用通用批量插入语句?

时间:2015-11-02 09:58:43

标签: java android android-sqlite

我有一个数据库导入过程,其中有一个与表对应的文件列表。这些文件是填充数据的简单csv文本文件。

我想通过使用批量插入来加速数据导入,因此我有以下方法:

private void bulkInsert(String tableName) {
    String sql = "INSERT INTO "+ tableName +" VALUES (?,?,?);";
    SQLiteStatement statement = sampleDB.compileStatement(sql);
    sampleDB.beginTransaction();
    for (int i = 0; i<100; i++) {
        statement.clearBindings();
        statement.bindLong(1, i);
        statement.bindLong(2, i);
        statement.bindLong(3, i*i);
        statement.execute();
    }
    sampleDB.setTransactionSuccessful();
    sampleDB.endTransaction();
}

上述方法不是我目前使用的方法。在方法中。我有3列long类型的列。

但是,由于我有不同数据类型列的不同表,是否可以推广上述方法?也许迭代列并得到类型?

修改

bindAllArgsAsStrings会有效吗?存储在列中的数据可能是textintegerreal。我的数据中可能还有NULL个值。

0 个答案:

没有答案