最初代码如下,直接执行sql语句,外加事务提升性能:
SQLiteDatabase database = new SQLiteDatabase();
if (database.isOpen())
{
database.beginTransaction();
try {
//sql为insert into tableName (name) values ("test")
database.execSQL(sql);
}
database.setTransactionSuccessful();
} finally {
database.endTransaction();
}
database.close();
}
优化如下:
SQLiteDatabase database = new SQLiteDatabase();
//sql为insert into tableName (name) values (?)
SQLiteStatement sqlListStatment = database.compileStatement(sql);
if (database.isOpen())
{
database.beginTransaction();
try {
//index 为1开始索引,value为入库的值
//bingXXX为插入XXX类型
sqLiteStatement.bindString(index, value);
sqLiteStatement.executeInsert();
}
database.setTransactionSuccessful();
} finally {
database.endTransaction();
}
database.close();
}