如果不加事務的循環插入的話,默認是沒插入一次是一次事務,這樣子速度會很慢。
開一個事務能提高一些速度。
代碼模版如下。
/**
* 插入一組數據.
*
* @param values 數據鍵值對.
* @param tableName 表名.
*/
public int insert(ContentValues values[], String tableName) {
int flag = 0;
db = getWritableDatabase();
db.beginTransaction();
try {
for (int i = 0; i < values.length; i++) {
db.insert(tableName, null, values[i]);
}
db.setTransactionSuccessful();
} catch (Exception e) {
e.printStackTrace();
flag = -1;
} finally {
db.endTransaction();
db.close();
}
return flag;
}