一直知道数据库的事物处理,但是自己始终在写数据库操作时,总是默认的回避了这件事,想想还是要自己做个测试来让自己警醒,记住数据库事物是非常必要地。
测试结果是:单单一千条数据,在对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);
}
});
|
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/archive/2012/11/06/2757978.html如需转载请自行联系原作者
demoblog