Android基础:SQLites数据库事物处理的优越性
一直知道数据库的事物处理,但是自己始终在写数据库操作时,总是默认的回避了这件事,想想还是要自己做个测试来让自己警醒,记住数据库事物是非常必要地。
测试结果是:单单一千条数据,在对sqlite数据库进行操作时,使用事物和不适用事物前后相差78倍之多,不难想象大数据增加时如果没有事物处理的意识,对软件性能来说只能是灾难性的。
setContentView(R.layout.main);
helper = new MyOpenDbHelper(this);
button = (Button) findViewById(R.id.bt);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 未使用同一个事物处理:57013ms
// 使用同一个事物处理:730ms, 仅仅一千条数据,却前后相差78倍之多,可见事物的重要性
// 对表数据进行增加、删除、更新的时候最好时候事物处理,
SQLiteDatabase writableDatabase = helper.getWritableDatabase();
time = System.currentTimeMillis();
writableDatabase.beginTransaction();
for (int i=0; i<1000; i++) {
String sql = "insert into myTab values ("+ i + "," + i + ","+ "'tom'" + ")";
System.out.println(sql);
writableDatabase.execSQL(sql);
}
writableDatabase.setTransactionSuccessful();
writableDatabase.endTransaction();
System.out.println(System.currentTimeMillis() - time);
}
});

浙公网安备 33010602011771号